2013-09-17 3 views
2

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

Как я могу это сделать

$('#form').on('click', '.button', function(){ 
var temp = '<input type="button" class="button" />' 
$('#form').append(temp); 
}) 

ответ

4

После установки новой кнопки:

var temp = $('<input type="button" class="button" />'); 
$('#form').append(temp); 
$('#form .button').not(temp).prop('disabled', true); 

Обратите внимание, что я добавил $() вокруг определения кнопки, так что это элемент, а не HTML строку (который не будет работать в .not()).

В качестве альтернативы вы можете также запустить это перед установкой кнопки:

$('#form .button').prop('disabled', true); 

Это отключает все кнопки - но так как новая не является частью формы пока она не будет отключена

0
$('#form').on('click', '.button', function(){ 
    var temp = '<input type="button" class="button" />' 
    $("#form").find(".button").prop("disabled",true).end().append(temp); 
}) 
+2

Используйте '.prop()' вместо '.attr()' - и 'siblings' может или не может работать в зависимости от структура формы. – ThiefMaster

+0

sibling не работает –

1

Попробуйте

var $form = $('#form').on('click', '.button', function(){ 
    $form.find('.button').prop('disabled', true) 
    var temp = '<input type="button" class="button" />' 
    $form.append(temp); 
}) 
+0

его не работает :( –

+0

@SaurabhSinha вы можете поделиться соответствующим html формы –

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