function sendValues() {
var str = $("#ryan_m").serialize();
var response = $('input[name=brand[]]:checked').val();
$.ajax({
url: "/trying1.php?avoidcache=' + myTimestamp();",
data: {str}
cache: false
});
}
<form action="trying1.php?b_id=$brand_id" method="get"/></td>
<input type="checkbox" name="brand[]" value="$brand_id"/>
<input type="submit" value="Compare" id="ryan_m" method="get" />
</form>
我试图在检查可用的复选框时使用此Ajax请求。 目前,这个脚本将完全符合我的要求,但我必须点击提交才能执行。
我的问题:
有没有一种简单的方法可以在点击复选框时执行ajax,而无需点击提交?
答案 0 :(得分:1)
$("input[type=checkbox]").change(function() {
$("form").submit();
});
答案 1 :(得分:0)
$("input[name=brand[]]").change(function() {
sendValues();
alert("Data is sent."); // Remove this - Just for testing purpose
});
jQuery Change Event。
这会检测各种<input>
的各种更改。 <select>
和<textarea>
。
答案 2 :(得分:0)
$(document).ready(function() {
$('[name="brand[]"]').change(function() {
sendValues();
});
});
答案 3 :(得分:0)
您可以使用jQuery .submit()在点击时提交表单。
<form action="trying1.php?b_id=$brand_id" id="myForm" method="get"/></td>
<input type="checkbox" name="brand[]" class="myCheckbox" value="$brand_id"/>
<input type="submit" value="Compare" id="ryan_m" method="get" />
</form>
为您提供一个ID并给复选框一个类,或者如果您想要一个ID(如果只有一个)。然后在你的jquery。
function sendValues() {
var str = $("#ryan_m").serialize();
var response = $('input[name=brand[]]:checked').val();
$.ajax({
url: "/trying1.php?avoidcache=' + myTimestamp();",
data: {str}
cache: false
});
}
$('.myCheckbox').change(function(){
$('#myForm').submit(function(){
sendValues();
return false;
});
});
我还没有测试过代码,但这就是你想要的想法。