首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在jquery中将原始下拉文本设置回

在jquery中将原始下拉文本设置回
EN

Stack Overflow用户
提问于 2021-01-14 22:03:40
回答 1查看 29关注 0票数 0

我试图从下拉列表中选择不同的值,并根据下拉列表中新选择的文本检查逻辑,并比较文本框中输入的文本。如果选择的下拉文本和文本框值失败了逻辑,我想恢复到原来显示在下拉框中的文本。

对于示例:在我的下拉框中,我有“有效”、“无效”、"PCR“、"PCR”等值,下拉列表已经显示了“有效”。如果用户将值从“有效”更改为"PCR“,而将第二个文本框值更改为负数,则我将通过引导框向用户抛出一个错误,说明textbox值应该是正数。

但是,在用户更改为"PCR“之前,我需要将显示在下拉列表中的原始值更改为”有效“。我的代码没有按要求工作。它在所附下拉列表中放置一个空的结果。

下面的代码:用于创建下拉模型的MVC视图页面:

代码语言:javascript
运行
复制
 @Html.DropDownListFor(model => model.FundingStatusId, new SelectList(ViewBag.FundingStatusDdl, "FundingStatusId", "FundingStatusName"), "Select Fund Status", htmlAttributes: new { @class = "form-control rtscustomtextboxright", @id = "fundingstatus" })

$(function () {
        var fundingStat = $("#fundingstatus option:selected").text();
       
        $("#fundingstatus").change(function () {
            if ($("#fundingstatus option:selected").text() == 'PCR IN') {
                //  debugger
                if (parseFloat($('#additionalFunds').val(), 10) > 0) {
                    bootbox.alert({
                        title: "ERROR - Please fix this",
                        size: "lg",
                        message: "<br><br><br>Additional Funds must be a NEGATIVE $ amount"
                    })
                   // return false;
                    $("#fundingstatus").val(fundingStat);
                }
            }
        })
    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-14 22:10:30

我相信您使用.val()方法是错误的。

代码语言:javascript
运行
复制
var fundingStat = $("#fundingstatus option:selected").text();
$("#fundingstatus").val(fundingStat); // you set the val for the option's text and not its value.

您的问题中没有提到下拉列表的代码,所以我不能编写修复程序,但是请查看以下解释:

如果我们有以下下拉列表:

代码语言:javascript
运行
复制
<div class="test">
  <select>
    <option value="a">First Choice</option>
    <option value="b">Second Choice</option>
    <option value="c">Third Choice</option>
  </select>
</div>

为了设置选中的选项,我们应该使用.val()和,而不是text()

代码语言:javascript
运行
复制
$(".text select").val("b"); // will select the "Second Choice"

而非

代码语言:javascript
运行
复制
$(".text select").val("Second Choice");
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65727537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档