jquery 在下拉菜单中查找所选项目的值

发布于 2024-11-09 10:13:20 字数 1148 浏览 0 评论 0原文

我有一个下拉列表,显示选择标记中的值,我通常只使用 $('#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>

I have a drop down list displaying values in a select tag that I would normally just use $('#ID').val() to obtain the value but the ID is either unknown or a dynamically added row.

Following the closing select tag, I have an jquery ui icon I'm using that when clicked will capture the value of drop down option currently selected (this value will be replicated to the other select lists). This bit of code loops so I know I'll need to use some sort of .find() or .parent() or something along those lines which is still not sunk in with me yet.

Here is the source code:

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蓝眸 2024-11-16 10:13:20

看起来表格单元格中只有一个选择。
因此,找到“td”就足够了,找到它后就可以搜索选择。

var value = $(this).parents('td').find('select').val();

It looks like there is only a single select in the tablecell.
So it should be sufficient to find the 'td' and when you've found it search for the select.

var value = $(this).parents('td').find('select').val();
遗忘曾经 2024-11-16 10:13:20

这 jsFiddle 是您真正要找的吗?

jQuery:

$('span[id^="select_contactsbcuid"]').click(function() {

    var $select = $('select[name^="' + this.id.split("_")[1] + '"]');
    if ($select.length) { alert($select.val()); }

});

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()); }

});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文