2013-06-29 14 views
6

私はインターネット上で見つけたjQueryコードを持っています。これをJSPページに統合したい、私はSpringフォームタグを使用します。ここでjQuery JSPページに追加

は、jQueryのコードです:

(function ($) { 
    //тут превращаем select в input  
    var id = "test", 
     $id = $('#' + id), 
     choices = $id.find('option').map(function (n, e) { 
      var $e = $(e); 
      return { 
       id: $e.val(), 
       text: $e.text() 
      }; 
     }), 
     width = $id.width(), 
     realClass = $id.get(0).className, 
     realId = $id.get(0).id, 


     $input = $('<input>',{width: width}); 
    $id.after($input); 
    $id.hide(); 
    $id.find('option').remove(); 
    //превратили 

    $input.select2({ 
     query: function (query) { 
      var data = {}, i; 
      data.results = []; 

      // подтставим то что искали 

      if (query.term !== "") { 
       data.results.push({ 
        id: query.term, 
        text: query.term 
       }); 
      } 

      // добавим остальное 

      for (i = 0; i < choices.length; i++) { 
       if (choices[i].text.match(query.term) || choices[i].id.match(query.term)) data.results.push(choices[i]); 
      } 

      query.callback(data); 
     } 
    }).on('change',function() 
      { 
       var value=$input.val(); 
       $id.empty(); 
       $id.append($('<option>').val(value)) 
       $id.val(value);    
      } 
     ); 
})(jQuery); 

jQueryのためのCSSファイル - 私はそれがtest.css名前を付け、私のjspページに適用します:

#test { 
    width: 300px; 
} 

私のJSPページ

<html> 

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > 
<title>Страница выборки</title> 
<link rel="stylesheet" href="resources/cssFiles/jquery-ui.css"/> 
<link rel="stylesheet" href="resources/cssFiles/test.css"/> 
<script type="text/javascript" src="resources/jsFiles/jquery-1.10.1.min.js"></script> 
<script type="text/javascript" src="resources/jsFiles/jquery-ui.js"></script> 
<script type="text/javascript" src="resources/jsFiles/jquery-ui-i18n.js"></script> 
<script type="text/javascript" src="./resources/jsFiles/selecter.js"></script> 
<script type="text/javascript"> 

$(document).ready(function() 
     { 

     $("#parctdate, #chldAdmitDate, #chldSchlDate, #name, #type, #daySchdl, #workSchdl, #rotation, #numbch, #chUnder3, #chUpper3, #chGoSchool, #chAdmitted").mouseenter(function() {   
      $(this).css("background-color", "gainsboro"); 
     }); 

     $("#parctdate, #chldAdmitDate, #chldSchlDate, #name, #type, #daySchdl, #workSchdl, #rotation, #numbch, #chUnder3, #chUpper3, #chGoSchool, #chAdmitted").mouseleave(function() {   
      $(this).css("background-color", "white"); 
     }); 

     var enabledDays = ["6-1-2013", "7-1-2013", "8-1-2013", "9-1-2013", "10-1-2013", "11-1-2013"]; 
     function nationalDays(date) { 
       var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();    
       for (i = 0; i < enabledDays.length; i++) { 
        if($.inArray((m+1) + '-' + d + '-' + y,enabledDays) != -1 || new Date() > date) {   
         return [true]; 
        } 
       } 
       return [false]; 
      } 

     $(function(){ 
       $.datepicker.setDefaults($.extend($.datepicker.regional["ru"])); 
       $("#datepicker1, #datepicker2, #datepicker3").datepicker({dateFormat: "yy-mm-dd", 
                     duration: "normal", 
                     numberOfMonths: [ 1, 2 ], 
                     constrainInput: true, 
                     beforeShowDay: nationalDays}); 
      });   


    }); 

</script> 

</head> 

<body> 

<spring:message code="label.input.button" var="labelbutton"/> 

<h3 align="center"><spring:message code="label.input.topLabel"/></h3> 


<form:form id="myform" cssClass="testClass" modelAttribute="fboAttribute" method="post" action="add" > 
<table align="center"> 


<tr id="name"> 
<td><form:label path="institution.nameOfInstitution"><spring:message code="label.input.nameOfInstitution"/></form:label> 
<form:select id="test" path="institution.nameOfInstitution"> 
<form:option value=""><spring:message code="label.select.msg" />-</form:option> 
<form:options items="${listOfInstitutionsNames}"/> 
</form:select> 

<tr> 
<td><input type="submit" value="${labelbutton}"/></td> 

</table> 
</form:form> 

jspとSpringのフォームタグを使ってjQueryスクリプトを統合したいと考えています。

申し訳ありませんが、jQueryの新機能です。

はあなたの任意のJavaScriptのような

+0

こんにちは? – Akheloes

+0

こんにちは。私はjQuery + CSSを私のJSPに統合したい(最後の質問タブは最後にですが、前にjQueryで作業しなかったので混乱しました。そこで、とselectタグの間のすべてをjQueryを使いたいと思っています。私の属性$ {listOfInstitutionsNames}がフェッチしているので、jQueryの属性-var test-exampleで使用されているjQueryコードに入れておきたいと思います。 –

+0

jQueryはJavaScriptライブラリです。 jQueryでHTMLコードを追加しないでください。私は統合の意味を知らないのですが、次のようにスクリプトをページに追加することができます: '' –

答えて

3

のjQueryを、ありがとう、あなたのJSPページの<head>タグに<script>タグに追加されます。あなたが例えばのように、あなたのjQueryを含む.jsファイルにすべてのコードまたは単にリンクを追加し、次のいずれかあなたがHTMLタグであなたのjQueryを活用し、今したい、ということ

<script src="./libs/jquery/1.10.1/jquery.min.js"></script> 

をやった、あなたはのためとして、それを行います任意のHTMLページ。つまり、あなたの場合、バネタグを取り除く必要はありません。ちょうどこのように、あなたの春のフォームタグにclass="testclass"を追加し、それはあなたの${listOfInstitutionsNames}を経由して選択/オプションを生成してみましょう:

<form:form cssClass="testclass" id="myform" modelAttribute="fboAttribute" method="post" action="add" > 

ブラウザ上のフォームをレンダリングするときに、春が生成されたHTML内の値とクラス属性が含まれますテストクラスの。

希望は、運がよい。

+0

答えをありがとう....私は好きでしたあなたはそれが動作しないと言った。ああ。私は春のフォームではなく、私はcssClassを持っているクラスを持っていない。私はあなたのために上記の私の質問を編集 –

+0

jsFiddleであなたのために働いている春のタグはありますか? – Akheloes

1
動的Webプロジェクト(MVCモデルを使用して設計された)のために

headセクションに、次のように追加します。

<script type="text/javascript" src="${pageContext.request.contextPath}/jQuery.js"/></script> 

を私は(JSPページで)WebContentフォルダーに私のjQuery.jsを保ちました。

1

何を意味するあなたはJSのVARにバインドJava側の情報にしたいということであれば、私が行ったように、あなたが行うことができます:

Java側で
  1. は、GoogleのGsonは、JSONにJavaオブジェクトをエンコードするために使用します文字列。

  2. JavaScript側で、Json文字列をJavaScriptとしてエスケープするには、org.apache.commons.lang.StringEscapeUtils.escapeJavaScript(String)を使用します。 JSP側で

  3. 、このような何か:何を意味するあなたを統合することで、

<script> 
    var jsonObject = JSON.parse("<%=yourJsonString%>"); 
    </script> 
+0

それは働いた! jspでGsonを追加した後。クール!!! –

関連する問題