2017-07-27 46 views
0

我想獲得選定的選項ID。在單行中,它可以工作,但是如果我添加新行,該函數只能在第一行上工作。爲什麼?如何獲得選定的選項ID(與AddRow數據表)

$("#hobby").on('change', function() { 
 
    alert($(this).find('option:selected').attr("id")); 
 
});
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script> 
 
<table id="dataTable" border=0> 
 
    <tr> 
 
    <td><input type="checkbox" name="chkstruktur[]" checked></td> 
 
    <td> 
 
     <select name="hobby" width="100px" id="hobby" > 
 
     <option id='1' value="Soccer">Soccer</option> 
 
     <option id='2' value="Running">Running</option> 
 
     <option id='3' value="Karate">Karate</option> 
 
     <option id='4' value="Bowling">Bowling</option> 
 
     </select> 
 
    </td> 
 
    </tr> 
 
    <tr> 
 
    <td><input type="checkbox" name="chkstruktur[]" checked></td> 
 
    <td> 
 
     <select name="hobby" width="100px" id="hobby" > 
 
     <option id='1' value="Soccer">Soccer</option> 
 
     <option id='2' value="Running">Running</option> 
 
     <option id='3' value="Karate">Karate</option> 
 
     <option id='4' value="Bowling">Bowling</option> 
 
     </select> 
 
    </td> 
 
    </tr> 
 
</table>

+0

ID應該是唯一的。 HTML不能有重複的ID。而是使用類。 –

回答

0

idhtml頁面必須是唯一的始終。請將您的id更改爲具有相同名稱的class屬性,並將事件綁定爲class作爲$('.hobby')。休息一切都很好。

$(".hobby").on('change', function() { 
 
    alert($(this).find('option:selected').attr("id")); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script> 
 
<table id="dataTable" border=0> 
 
    <tr> 
 
<td> 
 
    <input type="checkbox" name="chkstruktur[]" checked> 
 
</td> 
 
<td> 
 
    <select name="hobby" width="100px" class="hobby"> 
 
    <option id='1' value="Soccer">Soccer</option> 
 
    <option id='2' value="Running">Running</option> 
 
    <option id='3' value="Karate">Karate</option> 
 
    <option id='4' value="Bowling">Bowling</option> 
 
    </select> 
 
</td> 
 
    </tr> 
 
    <tr> 
 
<td> 
 
    <input type="checkbox" name="chkstruktur[]" checked> 
 
</td> 
 
<td> 
 
    <select name="hobby" width="100px" class="hobby"> 
 
    <option id='1' value="Soccer">Soccer</option> 
 
    <option id='2' value="Running">Running</option> 
 
    <option id='3' value="Karate">Karate</option> 
 
    <option id='4' value="Bowling">Bowling</option> 
 
    </select> 
 
</td> 
 
    </tr> 
 
</table>

+0

是的,我看到了,謝謝你,, –

+0

如果它幫助你,標記它的答案,以便它可以幫助人們在將來也找到解決方案.. :)快樂編碼 –

+0

嗨,@Guruprasad饒,如果我有另一個問題添加新函數addRow(dataTable){...}。該函數僅在第一行中起作用。爲什麼? –