2017-04-12 83 views
0

我想從選擇框中刪除選定部分=「selected」。無法從選擇選項中刪除selected =「selected」

這是選擇框

<select id="editsite_TREE_PARENT_ID" name="newsite_TREE_PARENT_ID" class="form-control input-medium"> 
      <option value="ROOT">root</option> 
      <option value="1" selected="selected">index</option> 
      <option value="2">impressum</option>               
</select> 

答這就像我試圖做到這一點,但它不會工作? - 什麼也沒有發生,我不知道爲什麼`

$("#editsite_TREE_PARENT_ID").find("option:selected").removeAttr("selected");' 

更改爲

$("#editsite_TREE_PARENT_ID").find("option[selected]").removeAttr("selected"); 

解決問題,但現在我有一個新問題。

當我刪除選擇併爲選項設置新選項後,當前選項將不會在下拉框中顯示爲選中狀態(在酸性代碼中但不顯示)。我的意思是這個選項沒有預選。可能是什麼原因呢?

+0

這似乎在這裏工作:https://jsfiddle.net/ha630r09/4/。點擊按鈕,你會注意到'selected'選項的變化。雖然我可能會錯過你的一部分問題。 –

+0

它工作正常 – Nimish

+0

是的,我看到,在我的代碼中沒有任何反應,我不知道爲什麼... – newbieRB

回答

0

它可能沒有做任何事情,因爲選定的屬性是基於下拉菜單中的活動/當前選擇,而不會改變(行爲可能取決於瀏覽器)。如果您想更改它,請嘗試將所選索引切換爲您想要的任何內容。因此,像這樣:

$("#editsite_TREE_PARENT_ID").val(0)

jQuery的參考:

http://api.jquery.com/val/

+0

如果我嘗試切換選定的選項,然後我刪除當前的選項,我看到兩個選項至少被選中 - 我missunderstoud有什麼不對嗎? – newbieRB

0

即如果當前沒有選擇與所選擇的屬性選項應該工作,但是如果沒有選擇它,它止跌沒有工作。
:selected選擇器查找當前選定的選項而不查找具有所選屬性的選項。

嘗試

$("#editsite_TREE_PARENT_ID").find("option[selected]").removeAttr("selected"); 
+0

太好了,對我很有用 - 但現在我遇到了問題,即selected = selected選項不會作爲第一個元素(選定元素)顯示在seletbox上! – newbieRB

0

這是工作的罰款。

$("#target").click(function() { 
 
    $("#editsite_TREE_PARENT_ID").find("option:selected").removeAttr("selected"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script> 
 
<select id="editsite_TREE_PARENT_ID" name="newsite_TREE_PARENT_ID" class="form-control input-medium"> 
 
      <option value="ROOT">root</option> 
 
      <option value="1" selected="selected">index</option> 
 
      <option value="2">impressum</option>          
 
</select> 
 
<br><br> 
 
<div id="target">click me</div>

相關問題