JQuery Выбор по имени и идентификатору - PullRequest
6 голосов
/ 12 апреля 2011

У меня есть таблица примерно так:

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

Я хочу иметь возможность выбрать определенную кнопку-переключатель с помощью name и id. Например, выберите переключатель с именем Sample2 и id Sample1. Я пытался сделать это:

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

Но не повезло ... Как мне это сделать?

Ответы [ 2 ]

7 голосов
/ 12 апреля 2011
 $('#Sample1[name="Sample2"]').attr('checked','checked');

, но элементы могут иметь только один идентификатор, поэтому, возможно, вам нужен класс вместо идентификатора

  $('.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>

РЕДАКТИРОВАТЬ

внесены некоторые изменения: рабочая демоверсия

3 голосов
/ 12 апреля 2011

.checked = true неверно.Используйте .attr('checked', true).

Кроме того, вы можете использовать идентификатор только один раз.Идентификаторы уникальные идентификаторы для элементов.Я понятия не имею, что вы пытаетесь сделать здесь, но:

<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') более переносим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...