我正在创建一个系统,需要能够勾选/取消复选框。每当其状态改变时,我需要使用jQuery向一个页面发出AJAX调用,以更新数据库。
如何实现这个功能?
我正在创建一个系统,需要能够勾选/取消复选框。每当其状态改变时,我需要使用jQuery向一个页面发出AJAX调用,以更新数据库。
如何实现这个功能?
例如,你可以这样做:
首先,你需要查看复选框是否被选中:
$("#yourSelector").live("click", function(){
var id = parseInt($(this).val(), 10);
if($(this).is(":checked")) {
// checkbox is checked -> do something
} else {
// checkbox is not checked -> do something different
}
});
您可以通过 Ajax 加载特定的内容:
$.ajax({
type: "POST",
dataType: "xml",
url: "path/to/file.php",
data: "function=loadContent&id=" + id,
success: function(xml) {
// success function is called when data came back
// for example: get your content and display it on your site
}
});
你卡在哪个地方了?你应该大概有这样的东西...
$('#myCheckbox').click(function() {
var checked = $(this).is(':checked');
$.ajax({
type: "POST",
url: myUrl,
data: { checked : checked },
success: function(data) {
alert('it worked');
},
error: function() {
alert('it broke');
},
complete: function() {
alert('it completed');
}
});
});
if ( $('#id').is(':checked') ) { }
function checkCheckboxState() {
if ( $('#id').is(':checked') ) {
// execute AJAX request here
}
}
$('.checkbox').click(function (){
var val = $(this).is(':checked');
$.load('url_here',{status:val});
});
<input type="checkbox" name="foo" value="bar" class="checkIt"/>
<script type="text/javascript">
$('.checkIt').bind('click', function() {
if($(this).is(":checked")) {
// checkbox is checked
} else {
// checkbox is not checked
}
});
</script>
现在您可以拥有多个复选框。
id
赋值之前先声明它。如果使用parseInt()
,最好指定基数:parseInt($(this).val(), 10);
- David Thomas