以编程方式设置select - jquery的文本

时间:2015-05-28 01:38:16

标签: javascript jquery

当我只知道选项的文本而不是值时,我需要以编程方式设置现有选择框的选项。

这是我的代码:

$("#" + eventQuestions[x].code).find('option[text="' + eventAnswers[x].vAnswerString + '"]').attr("selected");

不要过分关注选择正确的html元素或vAnswerString中的正确文本 - 我可以确认这些是正确的。

基本上没有选择该选项。我的代码出了什么问题?

2 个答案:

答案 0 :(得分:2)

查看this回答。

您可以使用该过滤器检查内部文本,然后将所选属性设置为:

.attr("selected", true);

示例我测试了它:

$(function() {
    $("#select").find("option").filter(function() {
        return this.innerHTML == "InnerText";
    }).attr("selected", true);
})

答案 1 :(得分:1)

Here is a working example用于jquery 1.6 +。

使用过滤功能选择选项:

var text = "theTextToFind";
var matchingOption = $("select#myselect option").filter(function () {
        return $(this).text() == text;
    });

使用属性函数设置值:

matchingOption.prop('selected', true);

另请查看此Answer