首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JQuery:下拉值不使用.val()函数更改

JQuery:下拉值不使用.val()函数更改
EN

Stack Overflow用户
提问于 2013-07-03 02:24:33
回答 3查看 273关注 0票数 0

我在这里遇到了一个非常奇怪的问题。

我有两个select字段,如果其中一个字段更改所选值,它们将显示相同的结果。

下面是代码:

代码语言:javascript
运行
复制
    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"))的最后一个条件不能按预期工作。该值将更改为第一个选项,NOt第三个选项。

如果我的描述不清楚,我的当前页面是:http://210.48.94.218/~printabl/products/booklets/

我说的字段是Cover QualityInternal Quality

问:我是不是漏掉了什么?你能指出来吗?任何帮助都将不胜感激.

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-03 05:17:56

伙计们我已经解决了这个问题。实际上是我的错。

我有一个默认的HTML代码,用于显示Cover QualityInternal Quality

代码语言:javascript
运行
复制
<tr>                                                                                 
    <td><?php echo"Cover Quality";?></td>   
    <td>
                 <select id="qlt" name="quality">
        <option value="4-1:Matt 90gsm">Matt 90gsm</option>
        <option value="4-2:Silk/matt 128gsm">Silk/Matt 128gsm</option>
        <option value="4-3:Silk/matt 150gsm">Silk/Matt 150gsm</option>
         </select></td>     
</tr>

我使用jQuery($element).val('$val')来更改默认值。

我做错的是:在‘掩护和内部质量’中的第三个选项

else if (internalQ=="4-3") {jQuery('#qlt').val('4-3:Silk/Matt 150gsm'); }

而不是:

else if (internalQ=="4-3") {jQuery('#qlt').val('4-3:Silk/matt 150gsm'); }

不同的是大写"M“和小"m”在价值上的区别。

因此,我更改了jQuery代码中的第三个值(或者您可以更改HTML代码),以便该值与HTML中的值完全匹配。解决!:)

感谢迅速的堆叠溢出专业人士谁帮助和提供了一些想法。现在我知道这件事的起因了。

我将更改标题,以便有同样问题的程序员将被导向这篇文章。

票数 0
EN

Stack Overflow用户

发布于 2013-07-03 03:08:34

代码语言:javascript
运行
复制
jQuery('#qlt').change(function(){
   var qlt = jQuery(this).val().split(":")[0];
   if(qlt.length > 0){
      //do your if else here
   }
)};

对内质做同样的事情。

如果不希望每次检查长度,只需避免函数中的If状态

票数 1
EN

Stack Overflow用户

发布于 2013-07-03 03:09:08

我认为这个问题源于您将qltinternalQ静态设置在jQuery().change(function(){});之外。

试着在里面设置值-

代码语言:javascript
运行
复制
var qlt,internalQ;

jQuery('#qlt').change(function(){ 

    qlt =  (jQuery(this).val()).split(":")[0];  // set the value of qlt

    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(){

   internalQ = (jQuery(this).val()).split(":")[0]; // set the value of internalQ    

   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 } ?>

参见这个jsFiddle示例- http://jsfiddle.net/zYg2P/1/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17438736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档