gpt4 book ai didi

jquery - 选择2 : set hidden field value

转载 作者:行者123 更新时间:2023-12-01 00:03:14 24 4
gpt4 key购买 nike

我有以下代码:

<input type="hidden" name="airport" tabindex="6" />


$('input[name="airport"]', '#details-form').select2({
minimumInputLength: 3,
multiple: true,
separator: ';',
width: 'off',
initSelection : function (element, callback) {
var data = [];
$(element.val().split(';')).each(function () {
data.push({id: this, text: this});
});
callback(data);
},
ajax: {
url: History.getBasePageUrl() + 'get-airports-dictionary',
dataType: 'json',
data: function (term, page) {
return {
q: term
};
},
results: function (data, page) {
var code = parseInt(data[0]);
switch (code) {
case 0:
return {results: data[1]};
break;
default:
window.Common.showError(data[1]);
break;
}
}
},
formatResult: formatAirportResult,
formatSelection: formatAirportSelection
});

一切正常,直到我想为该字段设置现有值 - initSelection 方法内的元素参数显示空值!

$('input[name="airport"]', '#details-form').select2('val', '2');

我尝试使用以下代码设置原始值:

$('input[name="airport"]', '#details-form').val('2');

它可以工作,但是在 select2 的 val 方法内部的某个地方,值消失了..

我使用 Select2 版本 3.4.0 和 this update .

谢谢

最佳答案

这是可行的解决方案:

$('input[name="airport"]', '#details-form').select2({
minimumInputLength: 3,
multiple: true,
separator: ';',
width: 'off',
initSelection : function (element, callback) {
var data = [];
$(element.val().split(',')).each(function(i) {
var item = this.split(':');
data.push({
id: item[0],
label: item[1]
});
});
callback(data);
},
ajax: {
url: History.getBasePageUrl() + 'get-airports-dictionary',
dataType: 'json',
data: function (term, page) {
return {
q: term
};
},
results: function (data, page) {
var code = parseInt(data[0]);
switch (code) {
case 0:
return {results: data[1]};
break;
default:
window.Common.showError(data[1]);
break;
}
}
},
formatResult: formatAirportResult,
formatSelection: formatAirportSelection
});
function formatAirportResult(item) {
return item.label + ' <strong class="pull-right">' + item.code + '</strong>';
}
function formatAirportSelection(item) {
return item.label;
}

我不知道为什么,但 value 参数不能是字符串 - 为了使其工作,它必须是字符串数组。否则 select2 会将空值设置为输入字段。

$('input[name="airport"]', '#details-form').select2('val', ['2:Domodedovo', '3:Vnukovo']);

证明 - http://jsfiddle.net/GZyeb/1/

关于jquery - 选择2 : set hidden field value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16686849/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com