2014-01-31 121 views
-2

存在任何方式來取代選項顯示值?選擇框顯示「值」替換jQuery的?

enter image description here

我的意思是,在這裏,我需要更換「一」 - >「第一選擇」,「二」 - >「第二」,也已經值也可提供。

HTML

<select id="selecttool"> 
    <option value="7">one</option> 
    <option value="3">two</option> 
    <option value="375">three</option> 
</select> 

的JavaScript

$(document).ready(function() { 
    $("#selecttool").children().val("-79"); 

    if($("#selecttool").val('7')) { 

    } 
}); 

這裏是我的jsfiddle,所以我試圖取代,但不知道如何插入值:

JSFiddle

+2

爲什麼你不能做到這一點的HTML本身 –

+0

你想與「第一選項」和「二」與「第二」,以取代「一」? – putvande

+0

你在使用任何CMS嗎? –

回答

0

你可以通過你的文本到文本()函數如下

$("#selecttool option[value='79']").text("label"); 
2

你可以通過一個函數來text()方法爲每個選項:

$('#selecttool option').text(function(){ 
    return this.value;   
}); 

JSFiddle


編輯

如果你想 '自定義文本' 你需要得到它從某處開始創建一個陣列:

var vals = ['first option', 'second option', 'third option'] 
$('#selecttool option').text(function(i){ 
    return vals[i];   
}); 

JSFiddle


ANOTHER

如果你想在選項中的文本選擇:

$('#selecttool option:contains(one)').text('first option'); 
+0

感謝你,但我不需要使用值,我必須插入自定義文本,這可能嗎? –

+0

哈哈哈...稀薄的空氣? –

+0

簡單的手動插入$('value 1')。text('first item');我希望你能理解我的意思? –

-1

是的,你可以很容易地用jQuery替換值這樣的

var value = $(「#text」)。val(); //值=一個使用$(「#text」)。text()如果您不在選擇框中... value = value.replace(「1」,「one」);

0

您選擇元素的方式是錯誤的。你應該選擇OPTION,而不是SELECT。 像:

$('#selecttool option').eq(0).text("First Item"), 

但是,這將是非常mannual的工作,因爲你需要給它一個接一個的所有選項。所以,如果你有所有的文本,按照建議oGeez將它存儲在一個數組中,然後做一個循環。像:

var labels = ["First Item", "Second Item", "last Item"]; 

$('#selecttool option').each(function(c, obj){ 
    $(obj).text(labels[c]); 
});