javascript - 如何从 Select2 多选中传递 URL 字符串中的多个参数
问题描述
我在使用多个的输入字段上初始化了一个 select2:当我在该字段上初始化 select2 时为 true。我一直在试图弄清楚如何从这个 HTML 输入字段中选择多个选项并将它们转换为字符串以在 url 中传递它们,如下所示 - url?employer=1&employer=2&employer=3
我遇到的问题是在我使用之后
jQuery.param(JSON.stringify(employerKey))
这对参数进行编码,当我对其进行解码时,它仍然没有任何意义。这是控制台注销的示例。
0=%5B&1=%7B&2=%22&3=w&4=e&5=b&6=s&7=e&8=r&9=v&10=i&11=c&12=e&13=I&14=d&15=%22&16=%3A&17=%22&18=e&19=c&20=i&21=%22&22=%2C&23=%22&24=e&25=m&26=p&27=l&28=o&29=y&30=e&31=r&32=N&33=o&34=%22&35=%3A&36=1&37=8&38=7&39=%2C&40=%22&41=i&42=d&43=%22&44=%3A&45=1&46=8&47=7&48=%2C&49=%22&50=t&51=e&52=x&53=t&54=%22&55=%3A&56=%22&57=0&58=0&59=2&60=1&61=3&62=7&63=+&64=%7C&65=+&66=n&67=u&68=l&69=l&70=%22&71=%7D&72=%2C&73=%7B&74=%22&75=w&76=e&77=b&78=s&79=e&80=r&81=v&82=i&83=c&84=e&85=I&86=d&87=%22&88=%3A&89=%22&90=e&91=c&92=i&93=%22&94=%2C&95=%22&96=e&97=m&98=p&99=l&100=o&101=y&102=e&103=r&104=N&105=o&106=%22&107=%3A&108=1&109=8&110=4&111=%2C&112=%22&113=i&114=d&115=%22&116=%3A&117=1&118=8&119=4&120=%2C&121=%22&122=t&123=e&124=x&125=t&126=%22&127=%3A&128=%22&129=0&130=0&131=2&132=1&133=3&134=4&135=+&136=%7C&137=+&138=n&139=u&140=l&141=l&142=%22&143=%7D&144=%5D
如果我做 JSON.stringify(employerKey) 我得到 The Params HERE Are undefined=&undefined= 在控制台日志中。未定义的匹配我在输入中所做的选择。
这是我进行ajax调用并传递数据的地方
$jw.secureAjax({
url : "usersMemberAdd.action",
success : function(data, status, xmlreq) {
DataTableUtils.addRow($("#employerClientTable").DataTable(), data);
var tr = $("#employerClientTable > tbody > tr:last");
tr.attr("id", "");
},
data : "employerNo=" + employerKey.id + "&userNo=" + $("#usersNo").val()
});
});
如您所见,在使用 Select2 多选之前,我能够访问对象及其属性。
任何帮助将不胜感激!我已经搜索了一段时间以寻找解决方案。谢谢!
解决方案
这是我想出的对我有用的东西。我不确定 select2 是否有更好的方法来处理这个问题。谢谢你。
var employerKeyArray = $("#employerSearch_id").select2("data");
var parameterString = "";
for(var i=0 ; i < employerKeyArray.length ; i++){
var selectedOption = employerKeyArray[i];
if(i > 0){
parameterString += "&";
}
parameterString += "multiEmployerKeys=" + selectedOption.id;
}
推荐阅读
- python-3.x - 在python中计算字典的值,其中值是集合
- stata - 如何在Stata中获得利润
- reactjs - 如何在reactjs中“通过单击警报框确定按钮隐藏div”
- amazon-web-services - 负载均衡器无法在 Elastic Beanstalk 中从 HTTP 重定向到 HTTPS
- c# - c# winforms根据带属性的字段动态创建控件(Attributes关键字)
- jquery - 我创建的 jquery div 没有出来,我做错了吗?C#
- reactjs - 减速器中的错误。初始状态。我如何初始化状态和使用 action.type
- python - Python Granger因果关系F检验理解
- stimulsoft - 通过在 Stimulusoft 中禁用缓存导致“未指定报告”错误
- r - 嵌套数据框的几个数据框的全连接