将 select 中的选项更改为 JavaScript 而不丢失选择
Change options in select with JavaScript without loosing chosen
我正在尝试使用 JavaScript 和 JQuery 重新加载 select 的选项列表,但我需要保留之前选择的值。
这是我的代码:
var temp = $('#SelectName').chosen().val();
select = document.getElementById('SelectName');
if (select.options.length > 0) {
$('#SelectName').find('option').remove();
}
for (var i = 0; i < result.length; i++) {
var option = document.createElement('option');
option.value = result[i].myIdVariable;
option.text = result[i].myTextVariable;
select.appendChild(option);
}
$('#SelectName').chosen(temp);
$('#SelectName').trigger('chosen:updated');
使用这段代码,我放弃了所有选择的值。
我用这段代码解决了:
var temp = $('#SelectName').val();
select = document.getElementById('SelectName');
if (select.options.length > 0) {
$('#SelectName').find('option').remove();
}
for (var i = 0; i < result.length; i++) {
var option = document.createElement('option');
option.value = result[i].myIdVariable;
option.text = result[i].myTextVariable;
select.appendChild(option);
}
$('#SelectName').val(temp);
$('#SelectName').trigger('chosen:updated');
不同的是现在我用的是:
var temp = $('#SelectName').val();
和
$('#SelectName').val(temp);
之前:
var temp = $('#SelectName').chosen().val();
和
$('#SelectName').chosen(temp);
我正在尝试使用 JavaScript 和 JQuery 重新加载 select 的选项列表,但我需要保留之前选择的值。
这是我的代码:
var temp = $('#SelectName').chosen().val();
select = document.getElementById('SelectName');
if (select.options.length > 0) {
$('#SelectName').find('option').remove();
}
for (var i = 0; i < result.length; i++) {
var option = document.createElement('option');
option.value = result[i].myIdVariable;
option.text = result[i].myTextVariable;
select.appendChild(option);
}
$('#SelectName').chosen(temp);
$('#SelectName').trigger('chosen:updated');
使用这段代码,我放弃了所有选择的值。
我用这段代码解决了:
var temp = $('#SelectName').val();
select = document.getElementById('SelectName');
if (select.options.length > 0) {
$('#SelectName').find('option').remove();
}
for (var i = 0; i < result.length; i++) {
var option = document.createElement('option');
option.value = result[i].myIdVariable;
option.text = result[i].myTextVariable;
select.appendChild(option);
}
$('#SelectName').val(temp);
$('#SelectName').trigger('chosen:updated');
不同的是现在我用的是:
var temp = $('#SelectName').val();
和
$('#SelectName').val(temp);
之前:
var temp = $('#SelectName').chosen().val();
和
$('#SelectName').chosen(temp);