Jquery找到最近的ID和选择值?

时间:2017-06-01 15:10:13

标签: jquery select

我有一个由这样的行组成的表:

<tr class='child1'>
    <td colspan="2"><img class="parent" src="show.gif">
        <select name="option" class="option" id="0">
            <option value="0">ZERO</option>
            <option value="1">ONE</option>
            <option value="2">TWO</option>
            <option value="3">Three</option>
        </select>
    </td>
    </td><td>
    </td><td>
    </td><td>
</tr>

<tr class='child1'>
    <td colspan="2"><img class="parent" src="show.gif">
        <select name="option" class="option" id="1">
            <option value="0">ZERO</option>
            <option value="1">ONE</option>
            <option value="2">TWO</option>
            <option value="3">Three</option>
        </select>
    </td>
    </td><td>
    </td><td>
    </td><td>
</tr>

我正在使用JQuery尝试为每个类.child + id找到Select和Selected Value的id。

$('.child' + id).each(function(i, obj) {
  // How do I get the Select ID and Selected Value ?
});

我不确定如何获取与class1匹配的每个条目的选择ID和选定值

有人可以建议怎么做吗?

由于

更新。 添加console.log(this)显示正确的行,我试过:     test = $(this).next("select").val();但返回未定义。

2 个答案:

答案 0 :(得分:3)

一些事情:我修复了你无与伦比的td,我添加了一个按钮来证明代码正常工作,我删除了独特的子类,因为它看起来有点错误(你可以把它添加回来)如果你愿意,它会抓取所选的id和值。

&#13;
&#13;
$("button").click(function() {
  
  $('.child').each(function(i, obj) {
    console.log("Index: " + i)
    value = $(this).find(".option").val()
    selectedId = $(this).find(".option").attr("id")
    console.log("Has the value " + value + " and the selectedId of " + selectedId);
  });

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr class='child'>
    <td colspan="2"><img class="parent" src="show.gif">
        <select name="option" class="option" id="0">
            <option value="0">ZERO</option>
            <option value="1">ONE</option>
            <option value="2">TWO</option>
            <option value="3">Three</option>
        </select>
    </td><td>
    </td><td>
    </td><td>
</tr>

<tr class='child'>
    <td colspan="2"><img class="parent" src="show.gif">
        <select name="option" class="option" id="1">
            <option value="0">ZERO</option>
            <option value="1">ONE</option>
            <option value="2">TWO</option>
            <option value="3">Three</option>
        </select>
    </td><td>
    </td><td>
    </td><td>
</tr>
</table>
<button>Test results</button>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

$('.child' + id).each(function(i, obj) {
  var selectID = $(this).find("select").attr("id");
  var selectValue = $(this).find("select").val();
});

只有在你的孩子N中选择