jQuery 按名称和 ID 选择

发布于 2024-11-01 07:15:04 字数 807 浏览 0 评论 0原文

我有一个像这样的表格:

    <table>
        <tr>
            <td>
                <input type="radio" name="Sample1" id="Sample1" value="1" />
                <input type="radio" name="Sample1" id="Sample2" value="1" />
            </td>
            <td>
                <input type="radio" name="Sample2" id="Sample1" value="1" />
                <input type="radio" name="Sample2" id="Sample2" value="1" />
            </td>
            etc....
        </tr>
    </table>

我希望能够通过 nameid 选择特定的单选按钮。例如,选择名称为 Sample2 和 ID Sample1 的单选按钮。我尝试这样做:

    $('[id="Sample1"][name="Sample2"]').checked = true;

但没有运气......我应该怎么做?

I have a table like so:

    <table>
        <tr>
            <td>
                <input type="radio" name="Sample1" id="Sample1" value="1" />
                <input type="radio" name="Sample1" id="Sample2" value="1" />
            </td>
            <td>
                <input type="radio" name="Sample2" id="Sample1" value="1" />
                <input type="radio" name="Sample2" id="Sample2" value="1" />
            </td>
            etc....
        </tr>
    </table>

I want to be able to select a specific radio button by name and id. E.G., select the radio button with the name Sample2 and id Sample1. I tried doing this:

    $('[id="Sample1"][name="Sample2"]').checked = true;

But no luck... How should I be doing this?

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

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

发布评论

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

评论(2

〃安静 2024-11-08 07:15:04
 $('#Sample1[name="Sample2"]').attr('checked','checked');

但元素只能有一个 id,所以也许你想要类而不是 id

  $('.Sample1[name="Sample2"]').attr('checked','checked');

,然后你的 html

<table>
    <tr>
        <td>
            <input type="radio" name="Sample1" class="Sample" value="1" />
            <input type="radio" name="Sample1" class="Sample" value="1" />
        </td>
        <td>
            <input type="radio" name="Sample2" class="Sample1" value="1" />
            <input type="radio" name="Sample2" class="Sample2" value="1" />
        </td>
    </tr>
</table>

EDIT

做了一些更改,这里是 工作演示

 $('#Sample1[name="Sample2"]').attr('checked','checked');

but elements can only have one id so maybe you want class instead of id

  $('.Sample1[name="Sample2"]').attr('checked','checked');

then your html

<table>
    <tr>
        <td>
            <input type="radio" name="Sample1" class="Sample" value="1" />
            <input type="radio" name="Sample1" class="Sample" value="1" />
        </td>
        <td>
            <input type="radio" name="Sample2" class="Sample1" value="1" />
            <input type="radio" name="Sample2" class="Sample2" value="1" />
        </td>
    </tr>
</table>

EDIT

made some changes here is a working demo

黯然#的苍凉 2024-11-08 07:15:04

.checked = true 是错误的。使用.attr('checked', true)

此外,您只能使用一个 ID 一次。 ID 是元素的唯一标识符。我不知道你想在这里完成什么,但是:

<html>
    <body>
        <input type="radio" name="Sample1" id="SampleA" />
        <input type="radio" name="Sample1" id="SampleB" />
        <input type="radio" name="Sample2" id="SampleC" />
        <input type="radio" name="Sample2" id="SampleD" />

        <script type="text/javascript">
        $(function() {
            $('#SampleC[name="Sample2"]').attr('checked', true);

            // [id="SampleC"][name="Sample2"] works too
        });
        </script>
    </body>
</html>

这项工作

编辑

实际上 .attr('checked', 'checked') 更便携。

.checked = true is wrong. Use .attr('checked', true).

Also, you may only use an ID once. IDs are unique identifiers for elements. I have no idea what you're trying to accomplish here, but:

<html>
    <body>
        <input type="radio" name="Sample1" id="SampleA" />
        <input type="radio" name="Sample1" id="SampleB" />
        <input type="radio" name="Sample2" id="SampleC" />
        <input type="radio" name="Sample2" id="SampleD" />

        <script type="text/javascript">
        $(function() {
            $('#SampleC[name="Sample2"]').attr('checked', true);

            // [id="SampleC"][name="Sample2"] works too
        });
        </script>
    </body>
</html>

does the job.

Edit

Actually .attr('checked', 'checked') is more portable.

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