如何使用jQuery从表格行的下拉列表中获取用户选择的选项

时间:2014-01-07 20:25:37

标签: jquery

我正在尝试从数据库中提取的数据中从服务器动态创建的表行中获取下拉列表的值。 例如:

<table>
  <tr>
    <td>
      <select onChange="setPaymentAmt()">
        <option value="1">Option1</option>
        <option value="2">option2</option>
      </select>
    </td>
  </tr>
  <tr>
   <td>
    <select onChange="setPaymentAmt()">
      <option  value="3">Option1</option>
      <option  value="4">option2</option>
    </select>
  </td>
 </tr>
</table>

如果我想使用jquery从特定行的用户选择选项中获取值,我该如何获取它?

以下是我的尝试:

function setPaymentAmt() {  
    var data = $(this).closest('select option:selected').val();
    alert(data);
}

当我提醒它显示未定义的

1 个答案:

答案 0 :(得分:2)

您必须将更改事件附加到您的所有<select>,例如:

$('select').bind('change', function(){
    var data = $(this).val();
    alert(data);
});

或者如果它的动态:

$(document).on('change', 'select', function(){
      var data = $(this).val();
      alert(data);
});

如果您已经附加了更改事件<select>,并且您正在通过该事件调用setPaymentAmt(),那么您需要传递setPaymentAmt() {{1}的引用触发了这个事件。像这样:

<select>