如何选中复选框是否选中,而价格滑块事件发生

How to check checkbox is checked or not while price slider event occurs

本文关键字:事件 复选框 何选中 是否      更新时间:2023-09-26

这是我的代码,对于价格滑块:

$("#price-slider").ionRangeSlider({
    min: 130,
    max: 575,
    onChange : function (data) {
    var from_num = data.fromNumber;
    var to_num =data.toNumber;
    $.ajax({
        url: 'hotelresults',
        type: 'POST',
        data: {
        from: from_num,
        to: to_num,
    },
        success: function(data){
            $('.hotel_list').html(data);
        }
    });
    }
});

发生此操作时,我必须检查复选框是否被选中。

如果选中它,那么我需要在此滑块 Ajax 中传递选中的复选框值。

同时反之亦然。

即:如果选中复选框,它应该通过其 Ajax 传递价格滑块值。

这是我的复选框点击功能

$( ".iCheck-helper" ).on( "click", function(){
    var sel = $('.i-check:checked').map(function(_, el) {
        return $(el).val();
    }).get();
// alert(sel);
    var nme = $('.i-check:checked').map(function() {
        return $(this).attr("name");
    }).get();
// alert(nme);
    if(!$(this).is(':checked')){
        $.ajax({
            type: "POST",
            url: "hotelresults",
            data: {
                key : sel,
                name:nme,
            },
            success: function (data) {
                $('.hotel_list').html(data);
            }
        });
    }
}); 

这两者都是通过Ajax传递值的。

但是我需要传递这两个值,正如我已经说过的那样

有人帮助我..

提前谢谢..

我无法测试它,但我认为它应该可以工作。让我知道。

我创建了一个额外的函数somethingChanged().当您更改复选框或范围滑块时,首先将放置所选值。然后,具有ajax调用的函数将触发。

// Default values
var from_num = 130;
var to_num = 575;
var sel = "";
var nme = "";
function somethingChanged() {
  $.ajax({
    url: 'hotelresults',
    type: 'POST',
    data: [
      {
        from: from_num,
        to: to_num
      }, {
        key: sel,
        name: nme
      }
    ],
    success: function(data) {
      $('.hotel_list').html(data);
    }
  });
}

$("#price-slider").ionRangeSlider({
  min: 130,
  max: 575,
  onChange: function(data) {
    from_num = data.fromNumber;
    to_num = data.toNumber;
    somethingChanged();
  }
});
$(".iCheck-helper").on("click", function() {
  sel = $('.i-check:checked').map(function(_, el) {
    return $(el).val();
  }).get();
  nme = $('.i-check:checked').map(function() {
    return $(this).attr("name");
  }).get();
  if (!$(this).is(':checked')) {
    somethingChanged();
  }
});
非常感谢

NiZa我终于找到了它...... :)

var from_num = 130;
var to_num = 575;
var sel = "";
var nme = "";
function somethingChanged(from_num,to_num,sel,nme) {
    var sel = $('.i-check:checked').map(function(_, el) {
        return $(el).val();
    }).get();
    var nme = $('.i-check:checked').map(function() {
        return $(this).attr("name");
    }).get();
    $.ajax({
        url: 'hotelresults',
        type: 'POST',
        data: {
            from: from_num,
            to: to_num,
            key: sel,
            name: nme,
        },
        success: function(data) {
            $('.hotel_list').html(data);
        }
    });
}
$("#price-slider").ionRangeSlider({
    min: 130,
    max: 575,
    onChange : function (data) {
        var from_num = data.fromNumber;
        var to_num =data.toNumber;
        somethingChanged(from_num,to_num,sel,nme);
    }
});
$( ".iCheck-helper" ).on( "click", function(){
    var price=$("#price-slider").val();
    var myarr = price.split(";");
    var from_num = myarr[0];
    var to_num = myarr[1];
    somethingChanged(from_num,to_num,sel,nme);
});
});

在这里,在checkbox点击功能中,我从价格滑块文本框中购买了价格滑块的值。

之后,我使用split并将这些值传递给somethingChanged函数。

而且在priceslider的情况下,我从somethingChanged购买了选中的复选框值..

在这里,每次发生这两个事件时,$('.i-check:checked').map(function(_, el)$('.i-check:checked').map(function()都会调用。