2014-06-19 59 views
-3

html元素在一組選項,我可以判斷當前選定的數值手動設置VS僅使用JavaScript的(我不能修改,因爲我使用的是建立在html違約框架功能)。如何判斷手動選擇或默認

<select> 
    <option value="a">A</option> 
    <option value="b">B</option> 
<select> 

應區別於

<select> 
    <option value="a" selected="selected">A</option> 
    <option value="b">B</option> 
<select> 

即使兩者都將有一個選擇。

的Javascript將在頁面加載運行。我需要判斷是否從服務器發送了html,如果沒有,則設置selectedIndex = -1

+0

你有沒有真的試圖什麼嗎?如果你仔細觀察,解決方案就會變得非常明顯。 – Nit

+0

您可以檢查在選擇中循環的for-each循環中是否存在特定元素的'selected'屬性。你需要給它一個ID,儘管如此,工作。 – ScottMcGready

+0

@ScottMcGready這有什麼用?如果用戶手動選擇默認選項會怎麼樣?該屬性將存在。 – Barmar

回答

1

使用onchange事件,我們可以標記用戶已選擇它。

var selection = document.getElementById('selection'); 

selection.onchange = function(){ 

    user_selected = true; 

} 

有了一些類似這樣的標記:

<select id="selection"> 
    <option value="a">A</option> 
    <option value="b">B</option> 
<select> 

這裏有一個fiddle...

0

嘗試工作的if語句到這個爲你的價值相匹配的選擇......也有超級簡單的jQuery選項...如果你可以使用jQuery。


<script> 
var selectedOption = document.getElementsByTagName("select"); 
if (!selectedOption.options[selectedOption.selectedIndex].defaultSelected) alert("select has changed"); 
</script>