2014-02-18 8 views
0

У меня есть флажок, который я хочу отключить, с отключенным текстом флажка, но я этого не сделал. У меня есть следующий код:Отметьте галочку и отключите галочку

$('input:checkbox[type="checkbox"]').each(function() { 
    $(this).attr("disabled", true).attr("readonly", true); 
}); 

Приведенный выше код не делает отключить мой флажок, а я нахожусь в состоянии проверить и снимите флажок.
Единственное, что я хотел сделать, это отключить галочку, и если флажок, который я загружаю из бэкэнд, проверяется, он не должен влиять на его состояние. Я также хочу отключить текст флажка.

Обратите внимание я сгенерирована Checkbox динамически и вот код для него:

if (cellvalue == "True") { 
    html = "<input type='checkbox' class='checkboxUser' id='checkbox" + rowid + "' checked/>" 
} 
else { 
    html = "<input type='checkbox' class='checkboxUser' id='checkbox" + rowid + "'/>" 
} 
return html; 
+0

доля ваш HTML образец –

+0

Вам не нужно ': checkbox' и' [тип = "флажок"] 'вместе. Одного из них достаточно. – techfoobar

+0

@ArunPJohny вы можете сообщить мне, какой текст ввода HTML вы хотите, и я генерирую флажок динамически ... – HarshSharma

ответ

0

пожалуйста, попробуйте следующий

$('input:checkbox[type="checkbox"]').each(function() { 
    $(this).prop("disabled", true); 
}); 
+0

, пожалуйста, проверьте мой обновленный вопрос сейчас .. – HarshSharma

+0

выполнить следующий код после динамической генерации $ ('ввод [тип = "флажок"]') каждый (функция() { \t \t \t $ (это) .prop ("отключено", правда);. \t \t}); \t \t или положить его в готовый funcction $ (документ) .ready (функция() { \t \t $ ('ввода [тип = "флажок"]'). Каждая (функция() { \t \t \t $ (this) .prop («disabled», true); \t \t}); }); – Sarath

0

Вы делаете неправильно с $('input:checkbox[type="checkbox"]')

Вы должны использовать следующее:

$('input:checkbox') только

или

$('input[type="checkbox"]') только


И использовать метод пропеллера:

$('input[type="checkbox"]').each(function() { 
    $(this).prop("disabled", true); 
    $(this).prop("readonly", true); 
}); 

Обратите внимание также метод атрибута вы делаете неправильно здесь:

$(this).attr("disabled",true).attr("readonly",true); // потому что атр из this.attr не является действительным

Это должно быть так:

$(this).attr("disabled",true); 
$(this).attr("readonly",true); 
+0

, пожалуйста, уточните мой обновленный вопрос сейчас – HarshSharma

0

Использование

prop("disabled", true) вместо attr(...)

И

$('input[type=checkbox]') 

Как сказал пользователь Sarath (немного исправлено):

$('input[type="checkbox"]').each(function() { 
    $(this).prop("disabled", true); 
}); 
+0

, пожалуйста, уточните мой обновленный вопрос сейчас – HarshSharma

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