Как получить метку, созданную помощником ASP.NET-MVC через Javascript - PullRequest
3 голосов
/ 31 января 2012
<input type="radio" id="Check" name="color">
<label for="Check" >Check it</label>

Если я хочу вызвать переключатель, я вызываю его, как показано ниже в сценарии.

$('#check').attr('checked', false);

Но как мне вызвать ярлык во второй строке? Должен ли я ввести еще один идентификатор там.

Ответы [ 5 ]

3 голосов
/ 31 января 2012

Да, вы можете просто дать ему id="checkLabel" и получить к нему доступ через jQuery $('#checkLabel')...

Или, если вы не хотите давать ему идентификатор, вы можете использовать .closest:

$('#check').closest('label')
2 голосов
/ 31 января 2012

В идеале вам нужен идентификатор, уникальный стиль или что-то для ссылки на элемент, но вы также можете использовать селектор позиции, как этот:

$("#Check").closest('label');
2 голосов
/ 31 января 2012

Вероятно, проще всего иметь идентификатор элемента label для доступа к нему.

2 голосов
/ 31 января 2012

Я бы сделал что-то вроде этого

$('#check').change(function() {
    $(this).attr('checked', false);
    $('label[for="' + $(this).attr('id') + '"]').WHATEVER();
});

Это позволит вам сохранить тот же HTML, что и у вас.
В качестве альтернативы, вы можете использовать метод closest, как описано в @ kprobst

$("#Check").closest('label');

Однако это «могло бы» быть неверно истолковано, если рядом расположены две метки.Первое предложение гарантирует, что вы называете «правильную» метку для ввода.

1 голос
/ 31 января 2012

Yoy может получить к нему доступ:

$('#check').next();

Если вы хотите получить к нему доступ только при установленном переключателе:

$("#check:checked").next();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...