2014-01-31 80 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]); 
});