我在这里遇到一个非常奇怪的问题。
我有两个选择字段,如果其中之一更改所选值,它们将输出显示相同的结果。
代码如下:
var qlt,internalQ;
if (jQuery("#qlt").length>0){
qlt = (jQuery("#qlt").val()).split(":")[0];
qltDesc = (jQuery("#qlt").val()).split(":")[1];
}
if (jQuery("#internalQ").length>0){
internalQ = (jQuery("#internalQ").val()).split(":")[0];
qltDesc = (jQuery("#internalQ").val()).split(":")[1];
}
<?php if(is_single('booklets')) { ?>
jQuery('#qlt').change(function(){
if (qlt=="4-1") { jQuery('#internalQ').val('4-1:Matt 90gsm'); }
else if(qlt=="4-2") { jQuery('#internalQ').val('4-2:Silk/matt 128gsm'); }
else if(qlt=="4-3") { jQuery('#internalQ').val('4-3:Silk/Matt 150gsm'); }
calculate();
});
jQuery('#internalQ').change(function(){
if (internalQ=="4-1") { jQuery('#qlt').val('4-1:Matt 90gsm'); }
else if(internalQ=="4-2") { jQuery('#qlt').val('4-2:Silk/matt 128gsm'); }
else if(internalQ=="4-3") { jQuery('#qlt').val('4-3:Silk/Matt 150gsm'); }
calculate();
});
<?php } ?>
问题是每个 JQuery.change 函数的最后一个条件(else if(internalQ=="4-3"
和 else if(qlt=="4-3")
)无法按预期工作。该值将变回第一个选项,而不是第三个。
如果我的描述不清楚,我当前的页面是:http://210.48.94.218/~printabl/products/booklets/
我所说的字段是封面质量
和内部质量
问:我错过了什么吗?你能指出来吗? 任何帮助将不胜感激。
最佳答案
jQuery('#qlt').change(function(){
var qlt = jQuery(this).val().split(":")[0];
if(qlt.length > 0){
//do your if else here
}
)};
对#internalQ 执行相同的操作。
如果你不想每次都检查长度,就避免函数中的 if 语句
关于php - JQuery:使用 .val() 函数未更改下拉值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17438736/