首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jQuery为窗体中的所有选择元素设置相同的函数

使用jQuery为窗体中的所有选择元素设置相同的函数
EN

Stack Overflow用户
提问于 2013-04-30 23:29:18
回答 1查看 693关注 0票数 0

我以为我已经弄清楚了但我肯定遗漏了什么..。

编辑:原来我错过了一些很简单的东西.将第一个脚本移到标记之后,所有操作都很完美!

我想通过为web表单中的所有选择元素设置onchange处理程序来清理我的代码。我想我可以用jQuery做这个.

代码语言:javascript
复制
<head>
<script type="text/javascript">
    jQuery('#myform').on('change', 'select', function() {
            var values = Sijax.getFormValues('#myform') ;
            Sijax.request('func',[values]);
            });
</script>  
</head>  

但这种形式不会发生任何事情..。

代码语言:javascript
复制
<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元素中使用相同的函数时,它工作得很好.我遗漏了什么?

代码语言:javascript
复制
<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>元素中(最后),它就开始完美地工作了。我想我应该能用一个装载处理程序在脑子里做这件事,但还没到.

EN

回答 1

Stack Overflow用户

发布于 2013-04-30 23:31:52

您需要将.on应用于容器。

所以在你的情况下,也许选择身体。

代码语言:javascript
复制
jQuery('select').on( { change : function() {

            }},"body");

或者类似的东西。

但是,on在容器上工作,然后在容器中应用select on元素。这意味着jQuery不需要遍历整个页面寻找要应用事件的元素并加快整个过程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16310572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档