我有一张复选框表:
<td><input id="box" name="box" type="checkbox" value="1" checked /></td>
<td><input id="box" name="box" type="checkbox" value="2" checked /></td>
<td><input id="box" name="box" type="checkbox" value="3" checked /></td>
我想在选中或取消选中复选框时提交复选框值(每次一个)不刷新页面:
if (isset($_GET['box'])) {
echo "Success!"
}
到目前为止,我得到了这个javascript代码来检查框是否已选中或未选中:
function validate(){
if (document.getElementById('box').checked){
alert("checked") ;
}else{
alert("You didn't check it! Let me check it for you.")
}
}
我想在其上添加AJAX,但到目前为止我尝试的所有代码段代码都不适合我的代码。我会感谢你的帮助。
答案 0 :(得分:5)
您想要使用AJAX。以下是没有AJAX的jQuery中的示例:
<td><input id="box1" class="box" name="box1" type="checkbox" value="1" checked /></td>
<td><input id="box2" class="box" name="box2" type="checkbox" value="2" checked /></td>
<td><input id="box3" class="box" name="box3" type="checkbox" value="3" checked /></td>
JavaScript的:
$(document).ready(function() {
$('.box').on('change', function(event) {
var checkbox = $(event.target);
var isChecked = $(checkbox).is(':checked');
alert('checkbox ' + checkbox.attr('id') + ' is checked: ' + isChecked);
});
});
现在,不要进行alert
调用,而是对后端网址执行$ .post,该网址带有ID和已选中或未选中的值。例如,
$.post('/submit-checkbox.php', {id: checkbox.attr('id'), value: isChecked});
如果我们把它放回代码中,它将如下所示:
$(document).ready(function() {
$('.box').on('change', function(event) {
var checkbox = $(event.target);
var isChecked = $(checkbox).is(':checked');
$.post('/whatever-your-url-is.php', {id: checkbox.attr('id'), value: isChecked});
});
});
答案 1 :(得分:0)
您可以使用jQuery:http://jquery.com/
<script type="text/javascript">
$(document).ready(function(){
$('#box').click(function(){
var selectedValue = $(this).value();
submitValue(selectedValue);
});
});
function submitValue(valueSelected){
var request = $.ajax({
url: URL_OF_YOUR_PHP_FILE,
type: "POST",
dataType: 'json',
data: {value: valueSelected}
});
request.done(function(results) {
//DO WHAT YOU WANT WITH YOUR RESULTS
});
}
</script>
然后在PHP文件中,您可以获得在$ _POST ['value']中选择的值并返回您想要的值(采用JSON格式)。