【发布时间】:2011-03-29 16:32:20
【问题描述】:
我有一个购物车,它在下拉菜单中显示产品选项,如果他们选择“是”,我想让页面上的其他一些字段可见。
问题是购物车在文本中还包含价格修饰符,每个产品的价格修饰符可能不同。以下代码有效:
$(document).ready(function() {
$('select[id="Engraving"]').change(function() {
var str = $('select[id="Engraving"] option:selected').text();
if (str == "Yes (+ $6.95)") {
$('.engraving').show();
} else {
$('.engraving').hide();
}
});
});
但是我宁愿使用这样的东西,它不起作用:
$(document).ready(function() {
$('select[id="Engraving"]').change(function() {
var str = $('select[id="Engraving"] option:selected').text();
if (str *= "Yes") {
$('.engraving').show();
} else {
$('.engraving').hide();
}
});
});
我只想在所选选项包含“是”字样时执行该操作,并且会忽略价格修饰符。
【问题讨论】:
-
将您的选择器从
$('select[id="Engraving"]')更改为$('#Engraving')。它会更快。在change处理程序中,this指的是#Engraving元素,所以你可以做$(this).find('option:selected')。 -
:contains 选择器怎么样?
-
这和jQuery有什么关系?这是纯 JavaScript 问题。
标签: javascript jquery string substring contains