我使用以下脚本在使用下拉列表时工作得很好,但在使用复选框时不起作用:
function update_number_of_adds_found(field_dropdown, selected_value) {
selected_value = "";
var addtypeid = $("#addtypeid").val(); // dropdown
var ch67 = $("#67").is(':checked'); // checkbox
//alert($("#67").val());
alert("Hello");
var selected_value = {
addtypeid: addtypeid,
isdamaged: isdamaged
};
var url = "<?php echo site_url('search/findNumberOfAdds'); ?>";
$.post(url, selected_value, function(r) {
if (r) {
$('#totalNumOfAdds').empty();
$("#totalNumOfAdds").append(r.result);
} else {
// alert(selected_value);
}
}, 'json')
}
以下是下拉列表的html:
<select name="addtypeid" id="addtypeid" class="styled_select" onchange="update_number_of_adds_found($('#addtypeid'), this.value);">
以下是复选框的代码:
$msg = '"update_number_of_adds_found($('.$value['filterid'].'), this.value);"';
echo "<input type='checkbox' name='categoriesfilters[]' value='" .$value['filterid'] ."' class='zcheckbox' onclick='$msg'/>";
单击复选框时未调用警报问候语,但是当我更改下拉列表时,它会执行。
问候,约翰
答案 0 :(得分:1)
用双引号括起函数调用。所以在你的onclick属性中。它看起来像这样`onclick ='“update_number_of_adds_found($(someFilterId),this.value);”''
因此,当您单击时,您没有运行函数调用,而只是运行“字符串”。
注意:当我的意思是运行“字符串”时,我的意思是它只是存储在内存中,不会将字符串作为javascript代码执行。
这应解决问题
$msg = 'update_number_of_adds_found($("'.$value['filterid'].'"), this.value);';