基于标准的JQuery选择元素

时间:2009-09-04 04:38:12

标签: jquery

我在表格中的每一行都有一个下拉框

<table>
<tr>
<th>
 <select name="priorityID" id="priorityID">
<option label="Important" value="1" selected="selected">Important</option>
<option label="semi important" value="2">semi important</option>
<option label="normal" value="3">normal</option>  
<option label="not important" value="4">not important</option>
</select>

 </th> 

</tr>
<tr>
<th>
 <select name="priorityID" id="priorityID">
<option label="Important" value="1" selected="selected">Important</option>
<option label="semi important" value="2">semi important</option>
<option label="normal" value="3">normal</option>  
<option label="not important" value="4">not important</option>
</select>

 </th> 

现在问题是priorityID更改时,我需要调用JQuery函数来更新数据库。现在由于每一行都有自己的下拉框,如何编写JQuery,以便在JQuery端,它可以捕获哪一行的下拉框触发事件?

2 个答案:

答案 0 :(得分:2)

您可以使用change事件以及一些辐射:

$("select").change(function() {
  var offset = $(this).closest("tr").prevAll().length;
  alert(offset);
});

答案 1 :(得分:2)

您可以在每个选择上放置一个ID,并在使用jQuery.post/get时将其作为数据值包含。

然后,您可以在服务器站点获取它以找出更改了哪个选择框。

<select name="priorityID" id="1">
<select name="priorityID" id="2">
<select name="priorityID" id="3">

$("select").change(function() {
  $.post(

     "http://api.url.com/method",

     {
       "selectId"      : $(this).attr('id'),
       "selectedValue" : $(this).val()
     },

     function(data) {
        alert('Back!');
     }

  );
});