jquery buttonset добавить класс к метке отмеченного элемента - PullRequest
2 голосов
/ 19 августа 2011

Я столкнулся с проблемой, которую не знаю, как решить.В соответствии с моей отладкой с использованием Firefox и простых журналов консоли я делаю это правильно.Я могу видеть указанный идентификатор Div для переключателя выбранной переключателя, когда я выбираю каждую кнопку.Однако при использовании функции addClass () указанный класс не применяется к выбранному идентификатору div для установленного переключателя.Фух, что за глоток.

<script type="text/javascript">
 var $j = jQuery.noConflict();
 $j(document).ready(function(){
  $j('#div :radio').buttonset().click(function(){
   $j(this).find(':checked').attr('id').addClass('');
   $j(this).find(':checked').attr('id').addClass('checked');
  });
 });
</script>

<style>
 .checked{background:url(icon.png) left no-repeat;}
</style>

<div id="div">
 <p><input type="radio" id="radio-1" name="radio" value="radio-1" /><label for="radio-1">Radio-1</label></p>
 <p><input type="radio" id="radio-2" name="radio" value="radio-2" /><label for="radio-2">Radio-2</label></p>
 <p><input type="radio" id="radio-3" name="radio" value="radio-3" /><label for="radio-3">Radio-3</label></p>
</div>

1 Ответ

2 голосов
/ 19 августа 2011

.attr() возвращает строку, и ваш код вызывает .addClass() для этой строки.Должно быть очевидно, что это не сработает.Вы не хотите добавлять класс к идентификатору - на самом деле вы не можете , потому что нет метода String.addClass.

Попробуйте:


Редактировать

Это больше похоже на то, что вы ищете?http://jsfiddle.net/mattball/ACREd/

...