从下拉列表中选择一个选项?

时间:2017-06-30 03:02:49

标签: javascript jquery css

我正在寻找一种方法,使用项目类从下拉列表中选择一个选项,并包含文本。例如

<select class="mySelect"> 
<option value="Test 1">Test 1</option>
<option value="Test 2">Test 2</option>
<option value="Test 3">Test 3</option>
</select>

我不能使用选择ID,因为它可能会改变,但是类总是一样的。我想这样做,如果选项有单词Test,则将单词“Test”的颜色设为蓝色。

我认为我可以处理颜色分配,但我遇到的问题是使用类来选择子选项。我试过了:

$('.mySelect option:contains("Test")');

但是我收到一个错误,认为这不是一个有效的选择器。

我也尝试过:

$('.mySelect select option:contains("Test")');

最后,感谢评论,我试过了

$('select option[value*="Test"]')

但是,这只会返回第一项。

好的,这是生产中的实际代码,让我们看看这是否有所改变。

<select onclick="SetChoiceOption('ctl00_ctl40_g_6a07f243_6d33_4cb8_bf98_47743415ee4a_ctl00_ctl05_ctl05_ctl00_ctl00_ctl05_ctl00_DropDownButton')" name="ctl00$ctl40$g_6a07f243_6d33_4cb8_bf98_47743415ee4a$ctl00$ctl05$ctl05$ctl00$ctl00$ctl05$ctl00$DropDownChoice" id="ctl00_ctl40_g_6a07f243_6d33_4cb8_bf98_47743415ee4a_ctl00_ctl05_ctl05_ctl00_ctl00_ctl05_ctl00_DropDownChoice" title="Category: Choice Drop Down" class="ms-RadioText">
                            <option selected="selected" value=""></option>
                            <option value="Meeting Test">Meeting Test</option>
                            <option value="Work hours Test">Work hours Test</option>
                            <option value="Business Test">Business Test</option>
                            <option value="Holiday Test">Holiday Test</option>
                            <option value="Get-together Test">Get-together Test</option>
                            <option value="Gifts Test">Gifts Test</option>
                            <option value="Birthday Test">Birthday Test</option>
                            <option value="Anniversary Test">Anniversary Test</option>

                        </select>

这是一个小提琴,它将每个作为文本返回,但是,不知何故不返回元素。

https://jsfiddle.net/3hgpw778/

2 个答案:

答案 0 :(得分:1)

$('.mySelect option:contains("Test")');有效且正在选择三个选项。但作为替代方案,你可以试试这个:

$('select option[value^="Test"]')

答案 1 :(得分:0)

Animator

是答案。我从Simple jQuery selector only selects first element in Chrome..?

获得了额外的一块