获取所选下拉列表的值,但不是来自复选框

时间:2014-02-18 07:51:12

标签: javascript jquery checkbox

我使用以下脚本在使用下拉列表时工作得很好,但在使用复选框时不起作用:

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'/>";

单击复选框时未调用警报问候语,但是当我更改下拉列表时,它会执行。

问候,约翰

1 个答案:

答案 0 :(得分:1)

用双引号括起函数调用。所以在你的onclick属性中。它看起来像这样`onclick ='“update_number_of_adds_found($(someFilterId),this.value);”''

因此,当您单击时,您没有运行函数调用,而只是运行“字符串”。

注意:当我的意思是运行“字符串”时,我的意思是它只是存储在内存中,不会将字符串作为javascript代码执行。

这应解决问题

 $msg = 'update_number_of_adds_found($("'.$value['filterid'].'"), this.value);';