使用Jquery选择器(复选框)执行onClick

时间:2011-04-03 20:22:00

标签: jquery checkbox

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,而无需点击提交?

4 个答案:

答案 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();  
    });
});

在这里演示:http://jsfiddle.net/JtBe2/

答案 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; 
    });
});

我还没有测试过代码,但这就是你想要的想法。