【问题标题】:How can I remove values from a dropdown so they are not there on page submit?如何从下拉列表中删除值,使它们不在页面提交中?
【发布时间】:2010-12-18 14:06:48
【问题描述】:

我在一个 aspx 网络表单上有一个文本框和一个下拉列表。用户将输入一个数字然后提交,下拉列表将填充与输入的单词相关的值。如果用户在文本框中键入一个新术语,我想截断下拉列表,当用户提交时,它只会提交文本而没有下拉值(实际上一个空字符串是可以的)。当用户浏览下拉菜单时,页面会使用与文本和下拉值相关的数据进行更新。 我正在使用以下 jQuery

function removeCoverageOptions() {
    $("#ctl00_DefaultContent_txtClaimNumber").keypress(
        function() {
            $("#ctl00_DefaultContent_ddCovCert").find("option").remove();
        }
    );
}

我正在 $(function(){ removeCoverageOptions(); }); 上运行它

它确实删除了 UI 中的选项项,但是当我提交表单并调试时...在页面加载中

var claimNum = txtClaimNumber.Text;
var certSeq = ddCovCert.SelectedValue;

claimNum 是正确的新键入文本,但 certSeq 仍然具有“999”,即最后选择的值。关于如何纠正这个问题的任何想法。当我更改 claimNum 时,我希望 certSeq 是一个空字符串。这可能是视图状态问题吗?

谢谢, ~ck 在圣地亚哥

【问题讨论】:

    标签: c# asp.net jquery webforms postback


    【解决方案1】:

    听起来像是一个视图状态问题。为什么不将 EnableViewState 设置为 false,因为看起来您不需要它来做任何事情。这将确保 DropDownList 在回发到服务器时永远不会有任何内容。

    【讨论】:

    • DropDownList 控件需要 ViewState 来填充 SelectedValue 属性。
    • 是的,我试过了。有时我确实需要选择的值,因为我需要检索与文本和下拉值相关的数据。
    • @Hcabnettek 你有没有解决这个问题?您可以更改您的文本框以使用客户端脚本在文本框数据更改时将所选值设置为空白,这样当帖子发生并且文本框已更改时,下拉列表将始终有一个空白选择。
    猜你喜欢
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 2021-01-05
    • 1970-01-01
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多