Как передать несколько параметров в строке URL из Select2 Multi Select - PullRequest
0 голосов
/ 11 июля 2019

У меня есть select2, инициализированный в поле ввода, использующий несколько: true, когда я инициализирую select2 в этом поле.Я пытался выяснить, как взять несколько вариантов, выбранных из этого поля ввода 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 (employeeerKey), я получу параметры ЗДЕСЬ undefined = & 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 multi selection.

Любая помощь будет принята с благодарностью!Я искал вокруг некоторое время сейчас для решения.Спасибо!

1 Ответ

0 голосов
/ 11 июля 2019

Вот то, что я придумал, работает для меня.Я не был уверен, что есть лучший способ справиться с этим из 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;


        }
...