好吧我有一個問題,可能很簡單。但我似乎無法理解發生了什麼。我有3個安全問題下拉菜單。我在ASPX頁面上提供了javascript,當您選擇一個問題(因此您無法在其他2個框中重新選擇問題)時刪除問題/重新填充它們。當用戶使用已經選擇的問題編輯他們的個人資料時,這非常有用。但是,當用戶首先選擇所有三個框在「selectedIndex 0」列出「請選擇問題」的問題時,onChange不會觸發。該功能甚至不會。我認爲這與從選擇的索引爲0的變化有很大關係。我已經調試過這個東西,它甚至沒有輸入函數。我甚至設置了onchange動作來刷新警報。看起來有什麼問題,當我嘗試從0的選定索引進行更改時,有任何想法?DropDownList onChange不在selectedindex工作0
2
A
回答
0
也許我在這裏從你正在描述的東西丟失的東西.. onChanged事件將只會觸發如果selectedIndex 更改。因此,如果您在selectedIndex(0)處下拉下拉列表並重新選擇第一個onChange項目將不會觸發。
-1
當您重新填充列表時,如果您使用另一個表示問題的項目替換索引爲0的項目(「請選擇一個問題」),那麼您的事件將不會觸發。
要麼
您保存的第一個項目作爲一個沒有選擇的指數(所以你的下拉菜單會一直顯示「請選擇一個問題」,並根據用戶需要改變它)。或
2.您炒掉事件在完成再植的下拉菜單後,手動:
<html>
<head>
<script type="text/javascript">
function sOnChange(){
alert('Changed');
}
function replaceItems(){
var dropDown = document.getElementById('s');
dropDown.innerHTML = "";
for(var x=0;x<5;x++){
var opt = document.createElement("option");
opt.value = x;
opt.appendChild(document.createTextNode("New options" + (x+1)));
dropDown.appendChild(opt);
}
dropDown.onchange();
}
</script>
</head>
<body>
<input type="button" onclick="replaceItems();" value="Replace Items"/>
<select id="s" onchange="sOnChange()">
<option>Press the button Please</option>
</select>
</body>
</html>
0
第一的選擇標籤的選項(指數0)默認情況下已經選擇。這就是爲什麼你的onChange事件再次被選中時不會觸發的原因。
this popular question的答案可能會有所幫助。爲了讓您的觸發事件,則選擇任何選項時,例如,您可以更改默認值以這樣的「無選擇的選項」:
document.getElementById("mySelectTagId").selectedIndex = -1;
相關問題
- 1. DropDownList SelectedIndex = 0
- 2. ASP.Net DropDownList SelectedIndex不變
- 3. 的DropDownList的SelectedIndex不能在Firefox工作頁面刷新後
- 4. DROPDOWNLIST的onchange動作
- 5. 如果值不存在,則將DropDownList的SelectedIndex綁定爲0
- 6. DropDownList SelectedIndex always = 1
- 7. 在gridview中設置dropdownlist selectedIndex
- 8. Yii框架:dropDownList onchange不起作用
- 9. 在IE中不工作「onchange」
- 10. MVC dropdownlist,onchange
- 11. Onchange Dropdownlist事件
- 12. Dropdownlist selectedindex在頁面刷新時不起作用
- 13. 在轉發器中設置Dropdownlist的Selectedindex/selectedvalue不起作用
- 14. JQuery onchange不工作
- 15. DropDownList SelectIndexChanged不工作?
- 16. jsp dropdownlist不工作
- 17. 設置SelectedIndex -1 ASP.NET DropDownList
- 18. C#asp dropdownlist databind empty dataset selectedindex
- 19. ListView的OnItemUpdating方法中的ASP.NET DropDownList始終具有0的SelectedIndex
- 20. 的onChange和ONSELECT在DropDownList中
- 21. asp.net mvc dropdownlist onchange routing
- 22. ASP .NET MVC - DropDownList OnChange
- 23. 在ASP.NET MVC中保留DropDownList的SelectedIndex
- 24. DropDownList SelectedIndex值在AutoPostback上未更新
- 25. 在DropDownList中的SelectedIndex上獲取SelectedValue?
- 26. Asp.NET DropDownList在回傳後重置SelectedIndex
- 27. onchange爲asp.net文本框不工作
- 28. Javascript onchange()函數不工作
- 29. JavaScript onChange for Date不工作
- 30. onchange和選擇不工作
那麼,如果用戶沒有** **改變什麼,爲什麼會瀏覽器觸發「更改」事件?也許我誤解了這個問題。 – Pointy 2010-07-02 15:10:32
仔細檢查您的訂閱 – MQS 2010-07-02 15:11:35
那麼它啓動頁面加載,因爲如果用戶已經保存了問題該怎麼辦?這樣就可以將下拉項目從其他項目中移除2.這通過重新填充列表的函數來執行,然後比較每個問題並從每個框中移除相應的問題。但是,由於某些原因,當所選索引爲0或「請選擇一個問題」時,我的c#代碼中的onChange命令不會觸發該函數。 – Tom 2010-07-02 15:14:47