使用 jQuery 迭代 HTML 选择中的选项

发布于 2024-09-27 02:21:44 字数 246 浏览 1 评论 0原文

我从博客中获得了这个示例,但每次我这样做时:

$(':input[name=' + inputName + ']').each(function(i, selected)
{
    alert($(selected).text());
});

我都会收到包含所有选项的所有警报:(

我必须始终按输入名称进行搜索,输入没有 id。

这是正确的方法 亲切的问候

I got this example from a blog, but every time I do this:

$(':input[name=' + inputName + ']').each(function(i, selected)
{
    alert($(selected).text());
});

I got all an alert with all the options together :(

I have to search by the input name always, the inputs have no id.

Which is the right way to do it?

Kind regards.

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

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

发布评论

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

评论(3

雪化雨蝶 2024-10-04 02:21:44

这是因为 jquery 找到了 select 标签,而不是 option 标签。

这将为您提供选项列表。

$(':input[name=' + inputName + '] option').each(function(i, selected) {
    alert($(selected).text());
});

示例

That's because select tag is found by jquery, not option tags

This will give you list of the options.

$(':input[name=' + inputName + '] option').each(function(i, selected) {
    alert($(selected).text());
});

An example

荭秂 2024-10-04 02:21:44

假设您的 HTML 与此类似,

<SELECT NAME="mylist">
  <option>Volvo</option>
  <option>Saab</option>
  <option>Mercedes</option>
  <option>Audi</option>
</SELECT>

您需要修改选择器以迭代 标记,您的选择器正在迭代

var inputName = mylist;
$(':input[name=' + inputName + '] option').each(function(i, selected)    {
        alert($(selected).text());
});

Assuming your HTML is similar to this

<SELECT NAME="mylist">
  <option>Volvo</option>
  <option>Saab</option>
  <option>Mercedes</option>
  <option>Audi</option>
</SELECT>

you need to modify your selector to iterate over the <OPTION> tags, your selector was iterating over the <SELECT> tag

var inputName = mylist;
$(':input[name=' + inputName + '] option').each(function(i, selected)    {
        alert($(selected).text());
});
遗忘曾经 2024-10-04 02:21:44

如果没有看到您的 html,请尝试以下操作:

$(":input[name='" + inputName + "'] option").each(function(i, selected) {
    alert($(selected).text());
});

Without seeing your html, try this:

$(":input[name='" + inputName + "'] option").each(function(i, selected) {
    alert($(selected).text());
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文