从下拉列表中获取已选择选项的行ID - jQuery

时间:2017-01-04 09:38:07

标签: jquery html

我在项目中尝试做的是我有一个包含两行的表。

第一行有3列,每个td都有一个下拉列表。

第二行只有一列。

现在,我必须从下拉列表中获取具有特定选定值的td的id。

我想做的是:

$("#R1C1,#R1C2,#R1C3,#R2C1").append($("#selectServices"));
     $(" #selectServices").on('change', function (){
        if($("#selectServices option:selected" ).text()=="Check In"){
            // need code to get td id from select dropdown with text as Check In
        }
     });
});

其中R1C1代表第1行第1列,依此类推。
selectServices是我的下拉列表的id 签入是我想要的下拉列表中所需的选项值

2 个答案:

答案 0 :(得分:3)

您可以使用 closest() 转到父td,然后使用 attr() 获取{{1} }属性,如:

id

希望这有帮助。

答案 1 :(得分:3)

我想,这就是你要找的东西。检查下拉列表本身更改时所需的值。

HTML:

<table id="table-id">
  <tr>
    <td id="#R1C1">
      <select>
        <option value="volvo">Volvo</option>
        <option value="saab">Saab</option>
        <option value="mercedes">Mercedes</option>
        <option value="audi">Audi</option>
      </select>
    </td>
    <td id="#R1C2">
      <select>
        <option value="volvo">Volvo</option>
        <option value="saab">Saab</option>
        <option value="mercedes">Mercedes</option>
        <option value="audi">Audi</option>
      </select>
    </td>
    <td id="#R1C3">
      <select>
        <option value="volvo">Volvo</option>
        <option value="saab">Saab</option>
        <option value="mercedes">Mercedes</option>
        <option value="audi">Audi</option>
      </select>
    </td>
  </tr>
  <tr>
    <td id="#R2C1">
      <select>
        <option value="volvo">Volvo</option>
        <option value="saab">Saab</option>
        <option value="mercedes">Mercedes</option>
        <option value="audi">Audi</option>
      </select>
    </td>
  </tr>
</table>

JavaScript:

$(document).ready(function() {
  $("select").on('change', function() {
      if($(this).val() == "mercedes") {
        console.log($(this).parent()[0].id)
      }
  });
});

JSFiddle: https://jsfiddle.net/nikdtu/yk0qzd85/