我以为我已经弄清楚了但我肯定遗漏了什么..。
编辑:原来我错过了一些很简单的东西.将第一个脚本移到标记之后,所有操作都很完美!
我想通过为web表单中的所有选择元素设置onchange处理程序来清理我的代码。我想我可以用jQuery做这个.
<head>
<script type="text/javascript">
jQuery('#myform').on('change', 'select', function() {
var values = Sijax.getFormValues('#myform') ;
Sijax.request('func',[values]);
});
</script>
</head> 但这种形式不会发生任何事情..。
<form id="myform">
<select name="one" id="one" title="one" >
<option value="Value_11">Label_11</option>
<option value="Value_12">Lable_12</option>
</select>
<select name="two" id="two" title="two" >
<option value="Value_21">Label_21</option>
<option value="Value_22">Lable_22</option>
</select>
</form> 但是,当我在select元素中使用相同的函数时,它工作得很好.我遗漏了什么?
<form id="myform">
<select name="one" id="one" title="one"
onchange="{ var values = Sijax.getFormValues('#myform') ;
Sijax.request('func',[values]); }" >
<option value="Value_11">Label_11</option>
<option value="Value_12">Lable_12</option>
</select>
...原来我把剧本放错地方了!一旦我将它移出并将其放入<#myform>元素中(最后),它就开始完美地工作了。我想我应该能用一个装载处理程序在脑子里做这件事,但还没到.
发布于 2013-04-30 23:31:52
您需要将.on应用于容器。
所以在你的情况下,也许选择身体。
jQuery('select').on( { change : function() {
}},"body");或者类似的东西。
但是,on在容器上工作,然后在容器中应用select on元素。这意味着jQuery不需要遍历整个页面寻找要应用事件的元素并加快整个过程。
https://stackoverflow.com/questions/16310572
复制相似问题