【问题标题】:Using jQuery to set the selected value of a select list based on a name containing an & symbol使用 jQuery 根据包含 & 符号的名称设置选择列表的选定值
【发布时间】:2013-01-19 20:53:08
【问题描述】:

我有一个下拉列表,其中包含供应商名称及其 ID 的集合。我正在尝试根据模型中的供应商名称设置下拉列表的选定值。

这是我的代码:

<script type="text/javascript" language="javascript">
    $(document).ready(function () {

        $("#vendors option:contains(@Model.Vendor)  // @Model.Vendor = "A B & C"
            .attr('selected', 'selected');

    });
</script>

@Html.DropDownList("vendors",
    new SelectList(Model.Vendors, "VendorID", "Name"),
    "- Select a Vendor -")

由于某种原因,如果名称中包含 & 符号,则不会选择下拉列表项。但如果没有,则列表项将被选中。

有没有办法解决这个问题?

【问题讨论】:

  • 或许可以尝试使用:contains(&amp;amp;Words) 而不是:contains(&amp;Words)
  • @steven 哇哦,我猜你已经在这方面工作了一段时间......不记得我已经回答了你的问题哈哈。很高兴再次见到你。

标签: jquery asp.net asp.net-mvc razor


【解决方案1】:

&amp;amp; 这样的字符在出现在 HTML 中时会被编码(例如,&amp;amp; 变为 &amp;amp;)。要将您的文本与元素的实际文本值进行比较,您可以使用以下内容:

$("#vendors option").filter(function() {
  return $(this).text().indexOf(@Model.Vendor) > -1; // @Model.Vendor = "A B & C"
}).prop('selected', true);

此外,要将选项设置为“已选择”,正确的使用方法是prop(在每个版本的 jQuery 1.6+ 中)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 2017-09-24
    • 2013-04-28
    • 1970-01-01
    • 2015-07-16
    • 2021-01-14
    相关资源
    最近更新 更多