jquery
  • radio-button
  • 2013-05-02 3 views 0 likes 
    0

    У меня есть этот фрагмент кода, чтобы проверить/снять флажок radioobutton с jquery.check radio button with jquery

    $.each(options, function (index, item) {     
           $optionli.find("li").eq(index) 
                .find("input[type='radio']") 
                .attr("checked", item.IsAnswer); 
    
          }); 
    

    item.IsAnswer возвращает «истина» или «ложь», однако переключатель не установлен, хотя, по его мнению HTML, то «проверено» атрибут установлен в «проверено» enter image description here

    Что может быть причиной того, что это произойдет?

    Благодаря

    +0

    Я думаю, что есть некоторые проблемы с ui. у вас есть какой-либо плагин для изменения ui радиобаза ??? – mmpatel009

    +0

    @mayur no Я не использовал никаких плагинов для ui. – Paras

    +0

    @Paras Можете ли вы продемонстрировать это в скрипке и попытаться воспроизвести ее. – PSL

    ответ

    1

    Попробуйте это: - Используйте prop вместо attr

    Проверено как атрибут не принимает истинным или ложным. Присутствие checked подразумевается, что оно проверено.

    $.each(options, function (index, item) {     
           $optionli.find("li").eq(index) 
                .find("input[type='radio']") 
                .prop("checked", item.IsAnswer); 
    
          }); 
    
    1

    checked это свойство, вы должны использовать prop метод, когда логический атрибут, как отключен или checked установлен на элемент, значение отображается в соответствующей DOM свойство элемента (браузеры сделать это) и attr и removeAttr методы не изменяют свойства элемента, а для jQuery 1.6 для модификации свойств следует использовать метод prop() вместо attr.

    $('input[type=radio]').prop('checked', function(i, state){ 
         return !state; 
        }); 
    
    Смежные вопросы