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-08-18 09:35:13 +08:00 · 3490 次点击
    这是一个创建于 3054 天前的主题,其中的信息可能已经有所发展或是发生改变。

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