2012-01-10 4 views
0

Я пытаюсь устранить некоторую избыточность, но я, кажется, что-то, что, вероятно, очевидно, не хватает ...JQuery Живая Связывание нескольких кнопок радио или списки кнопок радио

это не работает ...

$('input[type="radio"][name="rdoQuestionAnswer"][name="rdoQuestionAnswerYes"][name="rdoQuestionAnswerNo"]').live({  
    click: function (e) { 
... 
      } 
     }); 

это делает ...

$('input[type="radio"][name="rdoQuestionAnswer"]').live({  
    click: function (e) { 
... 
      } 
     }); 

Я не хочу, чтобы создать одну из них для каждой кнопки радио или радио список кнопки ...

комментарии, предложения?

благодарит заранее.

ответ

1

Измените селекторы, так что они отделены друг от друга запятой:

$('input[type="radio"][name="rdoQuestionAnswer"], input[type="radio"][name="rdoQuestionAnswerYes"], input[type="radio"][name="rdoQuestionAnswerNo"]') 

На стороне записки: Вы уверены, что вы должны указать type=radio?

+0

Нет, это не работает без типа = WhatEverTypeItIs (я пытался с ним и без него, и я использую последнюю версию jquery), кроме этого, этот подход работает ... спасибо – user1011144

2

Я хотел бы добавить класс (без сопроводительных стилей) к каждому из этих кнопок радио и выбрать, что вместо того, чтобы:

<input type="radio" class="selectme" name="rdoQuestionAnswer"/> 
<input type="radio" class="selectme" name="rdoQuestionAnswerYes"/> 
<input type="radio" class="selectme" name="rdoQuestionAnswerNo"/> 

JQuery:

$('input.selectme').live('click', function() {...}); 
// or, to be modern about it: 
$(document).on('click', 'input.selectme', function() {...}); 
+0

Это, безусловно, лучший метод. Я бы добавил +1, но я попал в дневной лимит :) –

+0

Начал писать, что мне нравится введение в метод live(), а затем понял, почему я никогда не слышал об этом, он устарел в версии 1.7+. Тем не менее, «.on()» является прекрасным замещением, и я могу исключить селектор, который обрабатывается в родительском элементе, и придерживаться только типа события и обработчика. Любить это! Благодарю. – oucil

+0

ОП может быть чрезвычайно преднамеренным с его HTML, но я хотел бы указать на одно: если вы имеете дело с взаимоисключающим переключателем/параметрами, все они должны иметь одинаковый атрибут «name», что отрицает необходимость добавления класса. Но, конечно ... может быть, у вас есть ситуация, когда вы имеете дело с переключателями для разных групп, и этот ответ действительно применим. – bkwdesign

Смежные вопросы