使用JavaScript更改select中的选项而不会丢失选择

时间:2019-05-22 10:02:46

标签: javascript jquery

我正在尝试使用JavaScript和JQuery重新加载选择的选项列表,但我需要保留以前选择的值。

这是我的代码:

    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');

使用此代码,我松开了所有选择的值。

1 个答案:

答案 0 :(得分:1)

我用以下代码解决了

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);