遍历selectMenu并获取id(Javascript \ JQuery)

时间:2016-04-01 18:35:12

标签: javascript jquery traversal

我想获得输入的选定值。 只有当上级是特定的 - Q01 时。 假设选择菜单上没有“名称”或“ID”,因为我在运行时不知道它。

JSFiddle Here

<table>
  <TR>
    <td class="Q01" valign="MIDDLE"> <b>01.1 </b>Question 01 </td>
    <TD>
      <SELECT CLASS="selectMenu" ID="" NAME="">
        <OPTION VALUE="">&lt;None&gt;</OPTION>
        <OPTION VALUE="2" SELECTED>2</OPTION>
        <OPTION VALUE="1">1</OPTION>
      </SELECT>
    </TD>
  </TR>
  <TR>
    <td class="Q01" valign="MIDDLE">      <b>01.1 </b>Question 02    </td>
    <TD NOWRAP>
      <SELECT CLASS="selectMenu" ID="" NAME="">
        <OPTION VALUE="">&lt;None&gt;</OPTION>
        <OPTION VALUE="2">2</OPTION>
        <OPTION VALUE="1">1</OPTION>
      </SELECT>
    </TD>
  </TR>
</table>

我已尝试$(".Q01:first").next('select').val();,但会返回undefined

编辑 - 我将“输入”更改为“选择”,我的错误。

答案编辑 - 感谢Hello Cynogenic,我进一步将其缩小到我所追求的目标,使用"alert($('.Q01:first').next('td').find('select option:selected').val())我从第一个选择菜单返回了所选的选项。

2 个答案:

答案 0 :(得分:2)

alert($(".Q01:first" ).next('td').children().val());

检查以下链接: - )

JSFiddle

答案 1 :(得分:0)

首先,您有一个备用</TD>标记,表示您的标记已损坏。

假设您删除了错误标记,这将为您提供选择元素:

$('.q1').next('td').find('select');

您必须逐步遍历文档。

next()表示&#34;在此容器中找到此容器中的下一个元素,如果它与指定的选择器匹配&#34;
find()表示&#34;在当前元素中搜索与指定选择器匹配的子节点&#34;