2012-03-06 7 views
1

Может ли кто-нибудь дать мне базовый пример того, как очистить определенные входные данные формы (каждый с собственным уникальным идентификатором), когда флажок снят? Я пробовал несколько решений, но я просто не могу заставить эту работу надежно работать. Мне нужно, чтобы это произошло только тогда, когда ящик не установлен, что, похоже, дает мне проблемы.Удалить определенные элементы формы, если флажок снят с отметки

+0

Какая часть дает вам неприятности? – Jivings

+0

Показать нам код. Что не работает? – MetalFrog

ответ

2

Грубый пример может быть ...

<input type='checkbox' id='clear_text' /> 
<input type='text' id='text_box' value='Contents' /> 
<script> 
$(function(){ 
    $("#clear_text").click(function(){ 
     if(!$(this).is(":checked")){ //checks if the checkbox/this is selected or not 
      $("#text_box").val(""); //empty the input value 
     } else { } //nothing 
    }); 
}); 
</script> 
+1

После того, как статус 'checked' был изменен, события' click' (и 'change', который, вероятно, был бы лучшим выбором) поэтому «если он проверен, то мы знаем, что щелчок« снимите галочку »неверен. Кроме того, 'this.checked' работает отлично - не нужно' $ (this) .is (': checked') '. –

+0

Да, я думаю, что это был мой оригинальный код, я отредактировал это вскоре. Я вроде как синтаксис $ (this) .is (": checked"). Это хорошо читается :) – solarise

+0

Похоже, что синтаксис не означает, что это все-таки ненужно. Вы в конечном итоге пишете больше кода - это создание объекта и выполнение вызова функции - для нулевого усиления. –

1

Установите флажок в поле onClick(), чтобы проверить значение флажка, а затем выполнить любое действие, которое вы хотите, включая очистку форм. Это отвечает вашим потребностям?

1

Очень простой пример, чтобы вы начали. Использует jQuery 1.7.1. http://jsfiddle.net/fPKX8/

HTML:

<input id="in1" name="in1" value="pizza" /><br /> 
<input id="in2" name="in2" value="chips" /><br /> 
<input id="in3" name="in3" value="beer" /><br /> 

<input id="check1" name="check1" type="checkbox" /> 

JQuery:

$('#check1').on('click', function() { 
    if (!$(this).is(':checked')) { 
     $('#in1, #in2').val(''); 
    } 
}); 
1
​$(document).ready(function(){ 
    $('#chk').live('change',function(){ 
    if(!$(this).is(':checked')) 
     $('input').val('');    
    }); 
})​;​ 

здесь рабочая скрипку JSFiddle

+0

Мне пришлось пойти с другим решением, размещенным, поскольку это противоречило некоторым другим js, продолжающимся с #chk. Но из коробки это работало точно так, как предполагалось. Спасибо за ваше время! –

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

  • Нет связанных вопросов^_^