我有一个下拉列表,显示select标签中的值,我通常只使用$('#ID')。val()来获取值,但ID是未知的或动态添加的行。
在关闭选择标记之后,我有一个我正在使用的jquery ui图标,当点击时将捕获当前选择的下拉选项的值(此值将被复制到其他选择列表)。这段代码循环所以我知道我需要使用某种类型的.find()或.parent()或者那些仍然没有沉入其中的东西。
以下是源代码:
<tr>
<th class="form"><label>SI Contact</label></th>
<td id="name_29805"><div style="float: left;">
<select name="contactsbcuid" id="contactsbcuid_29805" sid="29805" ordr="1">
<option value="userID1234">Doe, John</option>
<option value="userID1235">Doe, Jane</option>
...
<option value="userID1236">Smith, David</option>
</select>
<input name="orig_contactsbcuid" id="orig_contactsbcuid_29805" value="userID1235" sid="29805" ordr="1" type="hidden">
</div>
<div style="float: right;"><span class="ui-icon ui-icon-copy vtip" onClick="CopyDown('contactsbcuid',1)" id="select_contactsbcuid_29805" title="Copy the selected value down the list." style="float: right;"></span></div></td>
答案 0 :(得分:0)
看起来表格中只有一个选择。 所以找到'td'就足够了,当你发现它搜索选择时。
var value = $(this).parents('td').find('select').val();
答案 1 :(得分:0)
的 Is this jsFiddle what you are essentially looking for? 强> 的
jQuery的:
$('span[id^="select_contactsbcuid"]').click(function() {
var $select = $('select[name^="' + this.id.split("_")[1] + '"]');
if ($select.length) { alert($select.val()); }
});