Как разобрать число в выборе jQuery? - PullRequest
1 голос
/ 20 августа 2010

Я выполняю выборку на различных радиокнопках, класс которых начинается с названия радиоканала и имеет какой-то номер в конце (например, радиокнопка1, радиокнопка2 и т. Д.).Если щелкнуть переключатель, определенные поля, содержащиеся в этом переключателе, необходимо включить или отключить.Хорошая часть заключается в том, что класс, который должен быть включен, соответствует переключателю # (например, radio-option1, radio-option2 и т. Д.).

Пока у меня есть это ...

$('input:radio[class^=radio-selection]').live('click', function () {
    enableDataGroup($(this).siblings('.radio-option1'));
    disableDataGroup($(this).siblings('.radio-option2'));
});

Я просто хотел доказать, что включение и отключение работает (это мои собственные функции, так как включение и отключение могут быть немного сложными), но теперь мне нужно каким-то образом разобрать числовое значение с переключателя, которыйщелкните и включите эту группу данных, а также отключите все остальные, которые не совпадают.Вот псевдокод того, что я хочу сделать.К сожалению, я не уверен, что искать в Google, который научит меня анализировать и добавлять эти числовые значения.

$('input:radio[class^=radio-selection]').live('click', function () {
    var i = // Parse off the number off the selector of $(this).
    enableDataGroup($(this).siblings('.radio-option' + i));
    // Disable every other .radio-option[X] where [X] != i
});

1 Ответ

1 голос
/ 20 августа 2010

Как правило, сначала проще применить массовое действие ко всему, а затем просто включить то, которое вы действительно хотите включить.

$('input:radio[class^=radio-selection]').live('click', function () {

    // Disable all controls first by the class
    $('input:radio[class^=radio-option]').attr('disabled', 'disabled');

    // Replace the class text with nothing to get your integer
    var i = parseInt($(this).attr("class").replace("radio-selection", ""));
    enableDataGroup($(this).siblings('.radio-option' + i));

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