V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
grey5659
V2EX  ›  JavaScript

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

  •  
  •   grey5659 · 2016 年 8 月 18 日 · 4083 次点击
    这是一个创建于 3450 天前的主题,其中的信息可能已经有所发展或是发生改变。

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