我的問題是,使用javascript/jquery,「如何更改特定索引下拉選項的值不是選擇索引?「javascript jquery dropdown listbox - 如何在特定索引處設置選項文本(未選中!)
我有一個值的下拉列表。用戶可以選擇一個選項。我有一種方法可以讓用戶更改所選選項的值。價值得到改變,一切都很好。
這裏是我的問題:如果用戶決定取消或更改列表中的不同的值,而不保存更改到數據庫中,我想撤消值變化。
- 我有更改的選項的索引。
- 我有更改後的選項的舊值。
- 我有改變選項的新值。
如果用戶選擇了不同的選項,我不想更改新選擇的選項的索引。我只想重置用戶更改的選項的值。
我已經嘗試了。每個方法:
var changedTitle = $('#ddTitle').text();
$("#ddTitle option").each(function() {
if($(this).text() == changedTitle) {
$(this).text(savedTitle);
}
});
我想通過每一個循環的想法,但我從來沒有看到執行循環通過第二次瀏覽器就不會回來了。
我已經嘗試了.filter方法:
var changedTitle = $('#ddTitle').text();
$("#ddTitle option").filter(function(index) { return $(this).text() === changedTitle; }).attr('selected', 'selected');
$("#ddTitle option").filter(function() {
return $(this).text() === changedTitle;
}).prop('selected', true); // changes the selected option
我得到了上面的過濾器的代碼工作,但它設置所選選項。
$("#ddTitle option").filter(function() {
return $(this).text() === changedTitle;
}).prop('text', savedTitle); // execution never returns
我嘗試使用該選項文本屬性,但jQuery的獲取非常繁忙和執行永遠不會返回。
我試着通過文本值,這是愚蠢的發現,因爲我知道索引:
$("#ddTitle option[value='" + theText + "']").attr('selected', 'selected');
如果這些得到一個選項是第一個選項(0)或瀏覽器掛起。
有沒有辦法改變指定的索引在JavaScript或使用jQuery的編程的文本值?我沒有嘗試過的作品。
我真的認爲你中有我在正確的軌道上。我仍在嘗試。 – Patricia
事實證明,用戶所做的更改不會影響html。爲了獲得更多幫助,我需要將答案檢查一下。如果我可以根據你的建議得到一些結果,我會把它還給你。對不起。:-( – Patricia
這個答案:你如何改變在一個特定的索引,而不是選定的索引下拉選項的價值? – Eric