获取表中td内选择标记的选定选项值

时间:2017-05-09 06:48:53

标签: javascript jquery

我正在动态地在表中添加一个select选项标记,同时提交我正在迭代表tr以找到td中的元素。它将select标签作为字符串返回给我。在这里,我无法获得选择标签的选定选项

我的代码是

$('#tableid tbody tr').each(function() {   
       var countryTag = $(this).find('td:eq(2)').html(); // return the whole select option as string
       var selCntry = countryTag.find('option:selected').val(); // this is throwing error.
 }

但是在将select标签添加到表时,所选属性不可用于任何选项。

如何获得所有选定的国家/地区

P.S:这篇文章是通过手机发布的。所以可能有任何错字

2 个答案:

答案 0 :(得分:2)

请你尝试这样的事情:

$('#tableid tbody tr').each(function() {   
    var tdObject = $(this).find('td:eq(2)'); //locate the <td> holding select;
    var selectObject = tdObject.find("select"); //grab the <select> tag assuming that there will be only single select box within that <td> 
    var selCntry = selectObject.val(); // get the selected country from current <tr>
});

答案 1 :(得分:1)

那是因为你正在调用函数html(),你只能在jquery元素上调用find()

使用

$('#tableid tbody tr').each(function() {   
       var countryTag = $(this).find('td:eq(2)'); // return the whole select option as string
       var selCntry = countryTag.find('option:selected').val(); // this is throwing error.
 }

或者您可以在单个命令中执行此操作,例如

 $('#tableid tbody tr').each(function() {   
       var value = $(this).find('td:eq(2) options:selected').val(); // return the whole select option as string

 }