#jquery #jquery-selectors
#jquery #jquery-селекторы
Вопрос:
Вот моя проблема.При изменении данных в текстовом поле txt1 мы отправляем запрос в файл json, который выводит статус этого значения, введенного в текстовое поле, с этим статусом (Y означает) проверяется «Да» и (N означает) проверяется «Нет», и если значение не присутствует, то проверяется только «НЕТ». Вот код ниже, но, например, если мы введем значение «213», это означает «A», поэтому статус «ДА», поэтому «ДА» проверяется, а «НЕТ» «ОТКЛЮЧЕНО». «214» означает «B», поэтому статус означает «НЕТ», поэтому «НЕТ» проверяется и «отключено», и «да» также «отключено». «НЕТ» должно быть только отмечено, а не «ОТКЛЮЧЕНО», возможно, мы «ОТКЛЮЧИЛИ» в предыдущем «ДА».
$.getJSON("test.php",{'val' : $("#txt1").attr('value'),'cde' :$("#txt2").attr('value')},
function(data){
if(data[0].status){
switch(data[0].status){
case 'A':
$('#rb_Statusyes').attr('checked',true);
$('#rb_Statusno').attr('disabled','disabled');
break;
case 'B':
$('#rb_Statusno').attr('checked',true);
$('#rb_Statusyes').attr('disabled','disabled');
break;
case '':
$('#rb_Statusno').attr('checked',true);
$('#rb_Statusyes').attr('disabled','disabled');
break;
}
}
Комментарии:
1. хорошо, если вы немного доработаете этот вопрос, я, возможно, действительно смогу помочь 🙂
Ответ №1:
Если я вас правильно понимаю, ваша проблема в том, что вы ранее установили атрибут, и теперь вам нужно его удалить.
$('#rb_Statusno').attr('checked',true);
$('#rb_Statusno').removeAttr('disabled'); // Also remove the previously added disabled
$('#rb_Statusyes').attr('disabled','disabled');
$('#rb_Statusyes').removeAttr('checked'); // Also remove the previously added checked
Ответ №2:
Код выглядит нормально, но попробуйте это
//disable options
$('#rb_Statusyes').attr('checked', true);
$('#rb_Statusno').attr('disabled', true);
//enable options
$('#rb_Statusno').removeAttr('disabled');