选项值需要不同,而不是与选择框中显示的相同

时间:2014-02-17 09:36:40

标签: javascript

我在java脚本生成的选择框中没有什么问题,问题是我想在选择框中显示PK-1,PK-2 ..但是将附加到它们的值将是不同的。例如对于PK - 1,我希望有1作为它的值,同样对于PK - 2我想要2作为其传递值。但是在这段代码中,脚本正在传递PK-1。由于我是Java Script的新手,我不知道该怎么做。这是我的代码

function categoryInput(data){
    var category_vals = document.getElementById("categroy_renew");
for(var i=0;i<data.length;i++){
var option = document.createElement("option");
option.text = "PK - "+data[i].cat,data[i].cat;
category_vals.add(option);
}
}       

3 个答案:

答案 0 :(得分:1)

您只需在设置文本时设置选项值:

var option = document.createElement("option");
option.text = "PK - " + data[i].cat, data[i].cat; // Why are you doing this part?
option.value = data[i].cat;                       // Just need "PK - " + data[i].cat;
category_vals.add(option);

正如评论中所提到的,有一种更简单的方法来创建新选项,请看一下question

答案 1 :(得分:0)

在我看来,你忘了设定每个选项的“价值”。 就像你设置了option.text一样,尝试为每个选项设置option.value。

答案 2 :(得分:0)

function categoryInput(data) {
    var category_vals = document.getElementById("categroy_renew");
    for (var i = 0; i < data.length; i++) {
        var option = document.createElement("option");
        option.text = "PK - " + data[i].cat;
        option.value = "" + data[i].cat;
        category_vals.add(option);
    }
}