如果Select包含具有特定文本的选项,则更改div文本

时间:2012-04-17 15:33:30

标签: jquery

我有一个多人管理的CMS。我们根据一年中的时间启用/禁用某些运输方式。我想设置我们的结账页面,如果有人启用“文本保留。提货”运输选项,则在我们的提货信息TD中显示不同的消息,但如果没有,则将其保留为默认值。

如果选择了一个选项,我发现了很多改变div或其他内容的例子,但我只是想查看一个选项是否在列表中,然后根据它改变TD的内容。我已经尝试修改这些示例,看看它是否适用于我的情况,但没有让它工作。

我已经有了更改TD的代码,但无法弄清楚如何检查select是否首先包含某个选项。这是我必须更改TD的文本和输入按钮的代码:

// Change description from "To pick up at the bookstore" on Step 2 of checkout to Reserve Your Textbooks
$('td[id$=PickupAtStoreColumn] div.multipleship').each(function() { $(this).html($(this).html().replace("To pick up at the bookstore","Reserve Your Textbooks")); });

// Change "Pick Up At Store" button text on Step 2 of checkout to Reservation Pickup
$('td[id$=PickupAtStoreColumn] input[id$=btnPickupAtStore]').attr('value','Reservation Pick-up');

我如何检查选择[id $ = drpShipType]是否首先启用了“Text Reserv.Rep-up”选项?谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用is方法:

 $('someSelector').is(':selected')

返回一个布尔值true / false来告诉你它是否被选中。但是,在您的情况下,您询问是否选择了特定选项。我认为唯一有效的方法是获取所选的特定选项,然后检查它上面的值。例如:

<option value="4" class="specificGuy">Text Reserv. Pick-up</option>

$('.specificGuy').is(':selected')

答案 1 :(得分:0)

如果您的select元素的选项具有指定的值,您可以通过以下方式检测该选项是否存在:

$('#drpShipType option[value="Text Reserv. Pick-up"]').length > 0