选择Box显示“value”替换为jquery?

时间:2014-01-31 09:13:37

标签: javascript jquery html

是否存在替换选项显示值的方法?

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

4 个答案:

答案 0 :(得分: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');

答案 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”);