2013-02-05 24 views
2

我有一個下拉列表,其中包含供應商名稱及其ID的集合。我試圖根據模型中供應商的名稱設置下拉列表的選定值。使用jQuery根據包含&符號的名稱設置選擇列表的選定值

這裏是我的代碼:

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

出於某種原因,在下拉列表項如果名稱含有&不會被選中。但是如果沒有,那麼列表項就會被選中。

有沒有辦法解決這個問題?

+0

也許嘗試使用':contains(& Words)'而不是':contains(&Words)' –

+0

@steven哦哇,我想你已經在這一段時間工作了......不記得我已經回答了你的問題哈哈。很高興再次見到你。 – nbrooks

回答

1

&這樣的字符在HTML中出現時會被編碼(例如&變爲&amp;)。要比較你的文本元素的實際文本值,你可以使用這樣的事情:

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

而且,作爲「選擇」設置選項,使用正確的方法是prop(在每個版本jQuery 1.6+)。

相關問題