Checkbox 与复选框相关的ajax问题
这是我的ajax代码Checkbox 与复选框相关的ajax问题,checkbox,Checkbox,这是我的ajax代码 $(document).ready(function (e) { $('.checkbox').click(function (e) { $(event.currentTarget).val($(event.currentTarget)[0].checked); var Curl = $('#chkform').attr("action"); var
$(document).ready(function (e) {
$('.checkbox').click(function (e) {
$(event.currentTarget).val($(event.currentTarget)[0].checked);
var Curl = $('#chkform').attr("action");
var val = $('.checkbox:checked').val();
alert(val);
$.ajax({
url: Curl,
type: "POST",
dataType: "json",
data: {
chk: val
},
contentType: false,
cache: false,
processData: false,
success: function (result) {
alert(result);
var l = result.length;
for (var i = 0; i < l; i++) {
$('#table').append($('<tbody>')
.append($('<tr>')
.append('<td>' + result[i].id + '</td>')
.append('<td>' + result[i].product_name + '</td>')
.append('<td>' + result[i].product_description + '</td>')
.append('<td>' + result[i].product_price + '</td>')
.append('<td>' + result[i].product_pieces + '</td>'))
);
}
},
error: function () {
}
});
});
});
<form method="post" id="chkform" action="<?php echo site_url('form_sort/sorting') ?>" >
<input type="checkbox" name="chk" value="5000-6999" class="checkbox">5000-6999<br>
<input type="checkbox" name="chk" value="7000-8999" class="checkbox">7000-8999<br>
<input type="checkbox" name="chk" value="9000-12999"class="checkbox">9000-12999<br>
</form>
我无法在$chkvalue中获取复选框值,当我单击复选框警报时,结果为null我希望结果为复选框值,因为我回显$chkvalue。我认为问题在于在单击函数中使用e作为参数,然后使用event.currentTarget 您可以使用类似以下内容:
$(document).ready(function (e) {
$('.checkbox').click(function (event) {
$(event.currentTarget).val($(event.currentTarget)[0].checked);
//Rest of code here
});
});
我不确定它是否会在您将e更改为event时起作用,我不明白您为什么更改目标的值
也许类似的方法会更好:
$(document).ready(function (e) {
$('.checkbox').each(function(){
$(this).on('click', function(){
var Curl = $('#chkform').attr("action");
var val;
if($(this).is(":checked")){
val = "checked"
}else{
val = "unchecked"
}
//Condition could be simplify to ($(this).is(":checked"))?val = "checked" : val = "unchecked"; where ? is the value if it's true and : the value if it's false
alert("val="+val);
//Ajax to send here
});
});
});
$(文档).ready(函数(e){
$('.checkbox')。单击(函数(e){
$.ajax({
url:Curl,
类型:“POST”,
数据:{
chk:val
},
cache:false,
成功:功能(结果){
var l=结果长度;
对于(变量i=0;i
我用这个来编辑代码。这是成功的,因为我注释processdata:false,所以我将复选框值作为post in控制器
$(document).ready(function (e) {
$('.checkbox').each(function(){
$(this).on('click', function(){
var Curl = $('#chkform').attr("action");
var val;
if($(this).is(":checked")){
val = "checked"
}else{
val = "unchecked"
}
//Condition could be simplify to ($(this).is(":checked"))?val = "checked" : val = "unchecked"; where ? is the value if it's true and : the value if it's false
alert("val="+val);
//Ajax to send here
});
});
});
$(document).ready(function (e) {
$('.checkbox').click(function (e) {
$.ajax({
url: Curl,
type: "POST",
data: {
chk: val
},
cache: false,
success: function (result) {
var l = result.length;
for (var i = 0; i < l; i++) {
$('#table').append($('<tbody>')
.append($('<tr>')
.append('<td>' + result[i].id + '</td>')
.append('<td>' + result[i].product_name + '</td>')
.append('<td>' + result[i].product_description + '</td>')
.append('<td>' + result[i].product_price + '</td>')
.append('<td>' + result[i].product_pieces + '</td>'))
);
}
},
error: function () {
}
});
});
});