J'ai un morceau de code jQuery que j'ai trouvé sur Internet et je veux l'intégrer à ma page jsp, j'utilise des balises de formulaire Spring.
Voici le code 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);
Fichier CSS pour jQuery - Je le nomme test.css et l'applique à ma page jsp:
#test {
width: 300px;
}
Ma page 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>
Je voudrais intégrer mes scripts jQuery avec mes balises de formulaire jsp et Spring.
Je suis désolé d'être nouveau dans jQuery.
Je vous remercie
jQuery, comme tout JavaScript, est ajouté dans un <script>
tag dans le <head>
tag de votre page JSP. Vous ajoutez soit tout le code, soit juste un lien vers le .js
fichier contenant votre jQuery, comme par exemple:
<script src="./libs/jquery/1.10.1/jquery.min.js"></script>
Cela fait, vous voulez maintenant utiliser votre jQuery dans les balises HTML, vous le faites comme pour n'importe quelle page HTML. À savoir, dans votre cas, vous n'avez pas à retirer les étiquettes à ressort. Laissez-le générer la sélection/options via votre ${listOfInstitutionsNames}
, il suffit d'ajouter class="testclass"
à votre balise de formulaire de printemps, comme ceci:
<form:form cssClass="testclass" id="myform" modelAttribute="fboAttribute" method="post" action="add" >
Lors du rendu du formulaire sur un navigateur, Spring inclura dans le code HTML généré l'attribut class avec la valeur de testclass.
J'espère que ça aide, bonne chance.
Pour Dynamic Web Project (conçu à l'aide du modèle MVC)
Ajoutez comme ceci dans la section tête:
<script type="text/javascript" src="${pageContext.request.contextPath}/jQuery.js"/></script>
J'ai conservé mes jQuery.js dans le dossier WebContent (avec les pages jsp).
si ce que vous voulez dire, c'est que vous voulez lier Java informations secondaires à JS var, vous pouvez faire comme je l'ai fait:
À Java, utilisez Gson de Google pour coder Java en chaîne Json).
À Java, utilisez org.Apache.commons.lang.StringEscapeUtils.escapeJavaScript (String) pour vous faire échapper la chaîne Json en JavaScript.
Côté JSP, faites quelque chose comme ceci:
<script> var jsonObject = JSON.parse("<%=yourJsonString%>"); </script>