我有一个购物车,在下拉菜单中显示产品选项,如果他们选择“是”,我想在页面上显示其他一些字段。
问题是购物车中的文本还包括价格调整器,每个产品的价格调整器可能不同。以下代码可行:
$(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')
。 - user113716