jquery无法在select元素上获取change事件

时间:2012-09-29 14:59:21

标签: jquery jquery-selectors

我有这个代码,jquery代码永远不会被触发 没有触发任何脚本:

 $('select[name=privileges]').change(function(){
      alert("id");
            var id = $(this).find(':selected')[0].id;
            alert(id);
        $('#changevalue').val(id);
      }) 

或者这个:

   $("#privileges_select").change(function() {
        alert($('#privileges_select option:selected').html());
     });

  <form method="GET" action="create_new_user.php">          
         user:<input  type="text" size="40"   name="user_name"/> 
         password:<input  type="text" size="40"   name="password"/>       
          <select name=privileges  id="privileges_select">
          <option name='opt_1'>admin</option>
              <option name='opt_2'>ordinary</option>            
             </select>
         <input type="hidden" name="item_options_id" value="" id="changevalue" />

          <input type="submit" value ="create" />
          <input type="reset" />

       </form>

最后我想在表格get

中发送所选的选项ID

3 个答案:

答案 0 :(得分:1)

你为jquery添加了脚本引用吗?

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>

<script type="text/javascript">

.....

</script>

答案 1 :(得分:0)

尝试将名称attr放在引号<select name="privileges" id="privileges_select">

并且可能用分号终止.change()行;

基本上它似乎在这里工作正常 - http://jsfiddle.net/N6bua/

答案 2 :(得分:0)

代码重要的顺序。在页面包含select元素之后必须安装change事件侦听器,否则它将无声地失败。

尝试使用$(function() { ... install handler here ... });

包装处理程序