2013-03-01 4 views
0

Как изменить эту функцию так, чтобы она выполнялась после проверки пользователем поля, а не нажатия на кнопку? Кроме того, если они снижают галочку, выполняется другая функция.Выполнить действие над флажком

$("#saveData") 
    .click(function (e) { 
    e.preventDefault(); 
    localStorage.setItem("flag", "set"); 
    var data = $("#form1").serializeArray(); 
    $.each(data, function (i, obj) { 
     if (obj.name != "creditCard") { 
      localStorage.setItem(obj.name, obj.value); 
     } 
    }); 
}); 

Вот поле ввода,

<input id="saveAddress" type="checkbox" name="address">Save Address 
+1

Можете ли вы предоставить больше HTML или a [jsFiddle] (http://jsfiddle.net/) в качестве примера того, что у вас есть в настоящее время? – Walls

+0

«Также, если они снимите флажок, выполняется другая функция». И какая это будет? – j08691

ответ

1

Изменение $("#saveData").click в $("#saveAddress").click, так что вы получите что-то вроде:

$("#saveAddress") 
    .click(function (e) { 
    e.preventDefault(); 
    localStorage.setItem("flag", "set"); 
    var data = $("#form1").serializeArray(); 
    $.each(data, function (i, obj) { 
     if (obj.name != "creditCard") { 
      localStorage.setItem(obj.name, obj.value); 
     } 
    }); 
}); 

(также вы можете использовать $(this).(':checked') внутри обработчика событий для выполнения различных действия для проверки/снятия отметки)

2

Ну, там с информацией у меня есть здесь некоторые основные добраться до нас:

$('#checkbox_element').change(function(){ 
    if(this.checked){ 
    //checkbox checked, do your thing 
    }else{ 
    //it has been unchecked 
    } 
}); 

JSFiddle Пример: http://jsfiddle.net/uHEhh/1/

1

Вы можете сделать это следующим образом:

$("#saveAddress").click(function(e) { 
    if($(this).prop("checked")) { 
    localStorage.setItem("flag", "set"); 
    var data = $("#form1").serializeArray(); 
    $.each(data, function(i, obj) { 
     if(obj.name != "creditCard") { 
      localStorage.setItem(obj.name, obj.value); 
     } 
    });    
    } else { 
     /*Other function code*/ 
    } 
}); 
Смежные вопросы