【问题标题】:I need to change my success when my checkbox get unchecked当我的复选框未被选中时,我需要改变我的成功
【发布时间】:2016-03-05 08:52:37
【问题描述】:

这是我的代码:

$(document).ready(function() {
    $( ".iCheck-helper" ).on( "click", function(){

        var sel = $('.i-check:checked').map(function(_, el) {
            // if($(this).is(":checked")){
                return $(el).val();
            }
        }).get();
        // alert(sel);

        var nme = $('.i-check:checked').map(function() {
            // return $(el).val();
            return $(this).attr("name");
        }).get();
        // alert(nme);

        var value = this.value;
        // this(attir)
        var city_name =<?php echo json_encode($cityname) ?>;
        var start =<?php echo json_encode($start)?>;
        var end =<?php echo json_encode($end)?>;
        var room_count =<?php echo json_encode($room_count)?>;
        var member_count =<?php echo json_encode($member_count)?>;
        var selt_guest =<?php echo json_encode($selt_guest)?>;
        var selt_room =<?php echo json_encode($selt_room)?>;
        // alert(city_name);
        $.ajax({
            // alert();
            type: "POST",
            url: "hotelresults",
            data: {
                key : sel,
                name:nme,
                search_city:city_name,
                start:start,
                end:end,
                selt_guest:selt_guest,
                selt_room:selt_room,
                room_nf:room_count,
                guest_nf:member_count,
            },
            success: function (data) {
                $('.hotel_list').html(data);
            }
        });
    });
});

单击复选框时,此成功函数会调用。这里selname 以数组方式传递给控制器​​。

如果我的一个复选框未选中,它应该在selname 中传递数组的剩余值。

如果所有复选框都未选中,我的 selname 值设置为 null。

所以在这里,当我的值变为空或所有复选框都未选中时,我需要在我的Success 中传递另一组data,如下所示。

data: {
    search_city:city_name,
    start:start,
    end:end,
    selt_guest:selt_guest,
    selt_room:selt_room,
    room_nf:room_count,
    guest_nf:member_count,
}

在这里,我需要 .map 函数,因为没有该函数,我的值不会传递给控制器​​。

【问题讨论】:

    标签: javascript jquery checkbox


    【解决方案1】:

    在这里,而不是直接在 Ajax 调用中创建对象。首先在一个变量中初始化它,然后将该变量分配给调用中的数据。示例如下:

    Var dataToSend = { search_city:city_name, start:start, end:end, selt_guest:selt_guest, selt_room:selt_room, room_nf:room_count, guest_nf:member_count}
    

    以上是您在每种情况下都需要的属性。

    现在检查以下可选的:

    If(nme && nme.length) {
        dataToSend.nme = nme;
    }
    

    其他变量也一样。

    最后。在 Ajax 调用中,将变量分配给数据,如下所示:

    data: dataToSend
    

    谢谢, 马尼什·库马尔

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-05
      • 1970-01-01
      • 1970-01-01
      • 2015-08-10
      • 1970-01-01
      • 2014-05-25
      • 2019-03-04
      相关资源
      最近更新 更多