2012-09-29 45 views
0

在更改事件我有這樣的代碼jQuery代碼從來沒有得到觸發 沒有腳本被觸發: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> 

在最後我想發送所選的選項ID的形式得到

+1

這工作包的處理程序:http://jsfiddle.net/userdude/ggnWy/你需要確保你等待頁面加載或DOM就緒;你所展示的沒有描述被處理。 –

回答

1

您是否添加了jQuery的腳本引用?

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

<script type="text/javascript"> 

..... 

</script> 
+0

嗯,jQuery 1.5? –

+0

是的,它有點舊,從舊頁面獲得它,它應該支持change()函數,但是你的權利,請使用最新版本1.8.23 – hagensoft

0

嘗試把name屬性在引號<select name="privileges" id="privileges_select">

,也許終止與分號.change()線;

基本上似乎罰款這裏工作 - http://jsfiddle.net/N6bua/

+0

請注意,這是在'window.onload'中添加處理程序。這是我認爲OP已經錯過的。 –

+0

真實的故事..... – kalpaitch

0

的順序代碼的問題。更改事件偵聽器必須在頁面包含select元素之後安裝,否則它將以靜默方式失敗。

嘗試用$(function() { ... install handler here ... });