отключение всех входов в определенной форме - PullRequest
1 голос
/ 22 декабря 2011

Я могу получить идентификатор формы с помощью

form_id= $(this).parents('form').attr('id');

Я могу отключить / включить ВСЕ входы с помощью

if ($('.basket :input').is(':disabled') == true) {
$('.basket :input').removeAttr('disabled');
$(".basket :input").removeClass('disabled');
 $(':radio:not(:checked)').each(function(){
        $(this).removeClass('hidden').next('label').removeClass('hidden');

});

} else {
$(".basket :input").attr("disabled", "disabled");
$(".basket :input").addClass('disabled');
$(':radio:not(:checked)').each(function(){
$(this).addClass('hidden').next('label').addClass('hidden');
});

, что я пытаюсь сделать, это отключить только элементы ввода подform_id.Я думаю, что это может быть потому, что я не знаю, как заменить переменные в Jquery?

Ответы [ 4 ]

2 голосов
/ 22 декабря 2011

Добавьте селектор formID в начало ваших селекторов, например,

$('#' + form_id + ' .basket :input')
0 голосов
/ 22 декабря 2011

Если я правильно понимаю ваш вопрос: попробуйте это Чтобы отключить все поля ввода внутри form_id:

$('#form_id  input').attr('disabled' , 'disabled');

Чтобы включить все элементы:

$('#form_id input').removeAttr('disabled');

И если вы хотите узнатьКак получить элемент из jquery и как работает jquery: прочитайте эту статью: http://learningtechstuff.wordpress.com/2011/11/23/jquery-learning-series-for-beginners

0 голосов
/ 22 декабря 2011

Чтобы отключить все «входы» внутри контейнера с идентификатором «form_id»:

$('#form_id').find(':input').attr('disabled', 'disabled');

Чтобы включить все «входы» внутри контейнера с идентификатором «form_id»:

$('#form_id').find(':input').removeAttr('disabled');

Обратите внимание, что входной псевдоселектор не обязательно означает только теги. Подробнее см. на этой странице .

0 голосов
/ 22 декабря 2011

А как же

$("#"+form_id + " > :input").attr("disabled", "disabled");

Обычно я бы не рекомендовал использовать псевдоселекторы из-за производительности, поэтому вы можете заменить его списком дискретных tagName, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...