jquery-multiselect取值、刷新页面保持选中、AJAX相关问题集合

 
在使用jquery-multiselect的时候遇见许多的问题,如何取值,取到值又如何在刷新页面之后保持选中,本人JS学的实在是不咋地,导致“刷新”这个问题研究了半天,找了各种博客,乱七八糟也没有个准的,最后还是自己琢磨出来的,自己做个存档,有需要的也参考一下。

HTML

   <li>
        <label>支付方式:</label>
        <div class="vocation">
            <select multiple="multiple" οnchange="showValues()" id="payWay" name="payWay">
                 <option value="银盛">银盛</option>
                 <option value="财付通">财付通</option>
                 <option value="王府井pos2">王府井pos2</option>
                 <option value="数字王府井">数字王府井</option>
                 <option value="畅捷通PLUS" >畅捷通PLUS</option>
                 <option value="银联手机">银联手机</option>
                 <option value="易宝手机保证金">易宝手机保证金</option>
                 <option value="易宝网银保证金">易宝网银保证金</option>
                 <option value="畅捷通POS">畅捷通POS</option>
                 <option value="易宝手机车款">易宝手机车款</option>
                 <option value="现在支付手机车款">现在支付手机车款</option>
             </select>
         </div>
   </li>
取值的JS方法showValues()

//获取支付方式多选下拉框选中的值
    function showValues() {
        var array_of_checked_values = $("#payWay").multiselect("getChecked").map(function () {
            return this.value;
        }).get();
    }

刷新页面之后保持选中状态 - 不论是选一个还是选多个

$(document).ready(function () { //放在ready方法里
        $('.tablelist tbody tr:odd').addClass('odd');//请无视
        $('#startPaymentDate').datepicker();//其他需求请无视
        $('#endPaymentDate').datepicker();//其他需求请无视

	//初始化多选框
        var el = $("#payWay").multiselect({
            noneSelectedText: "==请选择==",
            checkAllText: "全选",
            uncheckAllText: '全不选',
            selectedList: 3
        });

        //刷新页面之后依然选择选中项
        var data = "$!{payWay}";//这个值是从后台查出来返回的,结合自己的需求拿到你的值吧
        data = ',' + data + ',';
        $('#payWay option').each(function(){
            if(data.indexOf(',' + this.value + ',')!==-1){
                this.selected = true;//设置选中
            }
        });
        $("#payWay").multiselect('refresh');//这个很关键,一定要加上
});


AJAX - 只有写注释的两点和多选框有关,其他的是页面的其他需求所需

    //交易金额折线趋势图
    function payAmountBrokenLine() {

        var startPaymentDate = $("#startPaymentDate").val();
        var endPaymentDate = $("#endPaymentDate").val();
        var payWayArray = encodeURI($("#payWay").val());//获取多选框的值
        //alert(payWayArray);
        var arr = [];
        var date = [];

        $.ajax({
            type: "get",
            async: false,
            url: "/detailDailyPaper/payAmountBrokenLineData.action",
            data: {
                startPaymentDate: startPaymentDate,
                endPaymentDate: endPaymentDate,
                payWayArray: payWayArray//传给后台
            },
            success: function (data) {
                $(data.data).each(function (index, item) {
                    arr.push([item.totalSums])
                    date.push([item.paymentDate])
                });
                chartLine.series[0].setData(arr);
                chartLine.xAxis[0].setCategories(date);
            },
            error: function (e) {
                alert("不好意思,请要访问的图标跑到火星去了。。。。");
            }
        });
    }



  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是使用 jQuery 插件 jquery-multiselectjQuery 动态生成下拉框的示例代码: HTML 代码: ```html <div id="selectBoxContainer"></div> ``` JavaScript 代码: ```javascript $(document).ready(function() { // 动态生成下拉框 var selectBox = $('<select id="selectBox" multiple></select>'); selectBox.append($('<option value="option1">选项1</option>')); selectBox.append($('<option value="option2">选项2</option>')); selectBox.append($('<option value="option3">选项3</option>')); selectBox.append($('<option value="option4">选项4</option>')); selectBox.append($('<option value="option5">选项5</option>')); $('#selectBoxContainer').append(selectBox); // 初始化下拉框 $('#selectBox').multiselect(); }); ``` 在上面的示例代码中,我们首先在 HTML 中定义了一个 ID 为 "selectBoxContainer" 的容器,用于放置动态生成的下拉框。 然后,在 JavaScript 中,我们使用 jQuery 的 ready() 方法来确保文档加载完成后再执行代码。在 ready() 方法中,我们使用 jQuery 动态生成了一个 ID 为 "selectBox" 的下拉框,并设置了 multiple 属性,表示该下拉框可以多选。接着,我们为下拉框添加了五个选项。 最后,我们将动态生成的下拉框添加到容器中,并使用 multiselect() 方法初始化下拉框,从而实现了动态生成下拉框并使用 jquery-multiselect 插件实现下拉框多选的功能。 这样做的好处是可以根据实际需求动态生成下拉框,并且可以使用 jquery-multiselect 插件方便地实现下拉框多选的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值