动态HtmlSelect选项不回发

时间:2012-04-20 18:18:49

标签: asp.net

我有级联下拉菜单(国家/省/市)。当页面回发时,我丢失了省和城市的选定选项。国家/地区的选项通过.net代码加载,但省和城市选项通过javascript填充。

我认为这与viewstate有关,但无法完全理解所选值未回发的原因。

1 个答案:

答案 0 :(得分:0)

使用JavaScript添加到下拉列表(html选择)列表的选项将不起作用。 这是修改DOM客户端的值,而不是服务器的ViewState。

这篇文章应该通过详细解释回答这一切。 Options added to <select> by javascript lost in postback

您可以尝试使用Javascript和JQuery的混合在Javascript中动态添加和删除所选选项,但它可能会变得混乱且速度很慢。

    function setSelectedValue(value) {
        var x = document.getElementById("yourDivId").selectedIndex;
        var y = document.getElementById("yourDivId").options;

        $('#yourDivId option').each(function () {
            if ($(this).attr('selected')) {
                $(this).removeAttr('selected');
            }
        });

        y[x].setAttribute('selected', 'selected');
    }