是否存在替换选项显示值的方法?
我的意思是,在这里我需要替换“一个” - >“第一个选项”,“两个” - >“第二个”,也有已经可用的值。
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,所以我试图替换,但不知道如何插入值:
答案 0 :(得分:2)
您可以为每个选项将函数传递给text()
方法:
$('#selecttool option').text(function(){
return this.value;
});
修改强>
如果你想要'自定义文本',你需要从某个地方获取它,所以创建一个数组:
var vals = ['first option', 'second option', 'third option']
$('#selecttool option').text(function(i){
return vals[i];
});
<强> ANOTHER 强>
如果您想选择选项中的文字:
$('#selecttool option:contains(one)').text('first option');
答案 1 :(得分:0)
您可以将文本传递给text()函数,如下所示
$("#selecttool option[value='79']").text("label");
答案 2 :(得分:0)
你选择元素的方式是错误的。你应该选择OPTION,而不是SELECT。 像:
$('#selecttool option').eq(0).text("First Item"),
但是,这将是非常多的工作,因为你需要一个接一个的所有选项。因此,如果您拥有所有文本,请按照建议 oGeez 将其存储在数组中,然后执行循环。喜欢:
var labels = ["First Item", "Second Item", "last Item"];
$('#selecttool option').each(function(c, obj){
$(obj).text(labels[c]);
});
答案 3 :(得分:-1)
是的,你可以像这样轻松地用jquery替换值
var value = $(“#text”)。val(); // value = one使用$(“#text”)。text()如果你不在选择框上... value = value.replace(“1”,“one”);