V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
grey5659

js 为什么不执行呢?语法错误吗?

  •  
  •   grey5659 · Aug 18, 2016 · 4275 views
    This topic created in 3545 days ago, the information mentioned may be changed or developed.

    哪里出问题呢, if 语句块不能包含在 for 循环中吗? var jq=$.noConflict(); function kw_updatevalue(){

    for (var i=1;i<6;i++){
    if(
    (jq("input[name=tiaojia001_shangpin_wfx.concat(i)]").val().indexOf('金龙鱼')!=-1  
      ||  
    jq("input[name=tiaojia001_shangpin_wfx.concat(i)]").val().indexOf("香满园")!=-1
    ||  
    jq("input[name=tiaojia001_shangpin_wfx.concat(i)]").val().indexOf("胡姬花")!=-1
    ||  
    jq("input[name=tiaojia001_shangpin_wfx.concat(i)]").val().indexOf("欧丽薇兰")!=-1
    ||  
    jq("input[name=tiaojia001_shangpin_wfx.concat(i)]").val().indexOf("元宝")!=-1
    ||  
    jq("input[name=tiaojia001_shangpin_wfx.concat(i)]").val().indexOf("口福")!=-1
    ||  
    jq("input[name=tiaojia001_shangpin_wfx.concat(i)]").val().indexOf("刀唛")!=-1)
    &&  (jq('select:eq(i)').val()==0.17)
    

    ){ alert('税率错误,请重新选择'); } alert(i); }

    }

    16 replies    2016-08-18 19:14:11 +08:00
    lijsh
        1
    lijsh  
       Aug 18, 2016
    看看有没报错,用断点观察一下。
    FrankFang128
        2
    FrankFang128  
       Aug 18, 2016 via Android
    加引号 name='xxx'
    sorra
        3
    sorra  
       Aug 18, 2016
    "input[name=tiaojia001_shangpin_wfx.concat(i)]"要改成"input[name="+tiaojia001_shangpin_wfx.concat(i)+"]"吧,选择器里面怎么能执行代码呢?
    另外你不要复制粘贴这么多遍
    FLAITE
        4
    FLAITE  
       Aug 18, 2016
    ("input[name='tiaojia001_shangpin_wfx.concat"+i+"']")这个吧?
    66beta
        5
    66beta  
       Aug 18, 2016
    (i) => (" + i + ")
    66beta
        6
    66beta  
       Aug 18, 2016
    楼主能把 input 的代码给贴出来吗
    ragnaroks
        7
    ragnaroks  
       Aug 18, 2016
    jQuery('input[name=tiaojia001_shangpin_wfx.concat('+i+')]')
    HustLiu
        8
    HustLiu  
       Aug 18, 2016   ❤️ 3
    我的天呐。。这代码写的。。太优美了。。首先这里的 i 当做字符串处理了而不是变量。。其次。。把这些什么金龙鱼啊之类的放在一个数组里然后做判断吧。。
    grey5659
        9
    grey5659  
    OP
       Aug 18, 2016
    谢谢,已经解决了,谢谢各位耐心指导~
    learnshare
        10
    learnshare  
       Aug 18, 2016
    jq("input[name=tiaojia001_shangpin_wfx.concat(i)]") "引号内的东西完全当做字符串来用了,没有执行运算"
    zhouzhe8013
        11
    zhouzhe8013  
       Aug 18, 2016
    看着难受..
    GavinGuo
        12
    GavinGuo  
       Aug 18, 2016
    这写法碉堡了, jq 重复获取一个 dom 效率太低了,改改吧
    aprikyblue
        13
    aprikyblue  
       Aug 18, 2016 via Android
    提个与问题无关的代码质量问题:把重复的代码提取一下吧。。 N 种你还要复制 N 遍不成,如果再要改动你还要再改 N 处不成。
    可以把重复部分提取出来,用数组放数据,再加个循环从数组逐取数据处理。或者重复部分提取出来成为单独函数,调用时把不同数据传入。
    adv007
        14
    adv007  
       Aug 18, 2016 via iPhone
    我相信接受这段代码的人肯定会问候作者家的亲人
    hronro
        15
    hronro  
       Aug 18, 2016 via Android
    为什么只有金龙鱼是单引号,别的都是双引号
    chunqiuyiyu
        16
    chunqiuyiyu  
       Aug 18, 2016
    为什么只有金龙鱼是单引号,别的都是双引号
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   825 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 20:13 · PVG 04:13 · LAX 13:13 · JFK 16:13
    ♥ Do have faith in what you're doing.