jQuery按名称和ID选择

时间:2011-04-12 14:04:40

标签: jquery-selectors

我有一张这样的表:

    <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选择特定的单选按钮。 E.G.,选择名称为Sample2且标识为Sample1的单选按钮。我试过这样做:

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

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

2 个答案:

答案 0 :(得分:7)

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

但元素只能有一个id,所以也许你想要class而不是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>

修改

这里做了一些更改working demo

答案 1 :(得分:3)

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

the job

修改

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