2017-04-04 36 views
1

我需要更新選項文本,並且沒有選擇框的#id。在使用jquery select中更新文本

我發現像這樣的例子:

$('#selectid option:contains("OLD_TEXT_VALUE")').text('newtext'); 

我不能用這個例子,因爲我只能訪問選擇這樣的:

selectedField.find('select') 

如何添加

option:contains("OLD_TEXT_VALUE")').text('newtext'); 

以上述方式選擇select,是否有可能?

這是我的代碼,可以有多種選擇以這種格式動態插入到頁面中。

<div id="basic_select_xxxx" class="form-group selectable"> 
    <select class="form-control"> 
     <option>Select something</option> 
    </select> 
</div> 

我可以選擇只選擇這樣的:

$( '#basic_select_xxxx')找到(「選擇)。

如何通過查找舊值更新與新文本的選擇選項?這是可能的嗎?我不能把id放在select上,所以讓我知道是否有其他方法?

+0

發表您的HTML。整個頁面只有一個選擇嗎? –

+0

'selectedField'的值是什麼? –

+0

可以有很多選擇,我不知道他們的ID。我會更新我的問題,給你更詳細的信息 –

回答

1

可以chain your jQuery這樣做:

$('#basic_select_xxxx').find('select option:contains("OLD_TEXT_VALUE")').text('newtext'); 
+0

謝謝你做的伎倆。 –

1

假設所有的容器ID的開始與同"basic_select_"前綴,你可以使用在"attribute starts with" selector

$('.selectable[id^="basic_select_"] select option:contains("OLD_TEXT_VALUE")').text('newtext');