访问其他功能的变量

时间:2012-10-09 19:03:56

标签: javascript jquery

在我下面的jQuery代码中,我无法获得inputString元素的正确长度,元素的长度在查找函数上发生变化而我无法使用全局变量。

$('#ckekeKala').live("click" ,function(){
    var len=$('#inputString').text().length;
    alert(len);
});

function lookup(inputString) {
    if(inputString.length != 0) {
        $('[id^="lbl"]').attr("disabled", true);
    }
    });
  }
} // lookup

HTML code:

<input style='width: 128px;' name='nameKala' id="inputString" onkeyup="lookup(this.value);" onblur="fill();" />

3 个答案:

答案 0 :(得分:0)

查找功能中的额外大括号

    function lookup(inputString) {
        if(inputString.length != 0) {
            $('[id^="lbl"]').attr("disabled", true);
        }
    });   <--- Remove this
  }       <---  Remove this
} // lookup

答案 1 :(得分:0)

只是一个想法,你可以很容易地完成整个过程:

  

HTML

<input id="inputString" name="nameKala" type="text" style="width:128px" />
  

脚本

// keep in mind, that depending on ur use and jQuery version, .live can be replaced with .bind or .on
$("#inputString").live("keyup", function(e) {
        if ($(this).length > 0) { 
            $('[id^="lbl"]').attr("disabled", true);
        };
    })
    .live("blur", function(e) {
        // do fill work
    });

$('#ckekeKala').live("click" ,function(){
    var len=$('#inputString').val().length;
    alert(len);
});

Example

答案 2 :(得分:0)

除了您在其他答案和帖子中可以看到的任何语法错误。如果您放入更多代码,那将会很容易。但假设您没有提到的所有其他代码都是正确的并修复了

的语法错误
 }); 

我认为你的查询在jQuery块之外没有访问权限。所以你可以做的就是把它改成像这样做

 lookup = function(inputString) {
   if (inputString.length != 0) {
     $('[id^="lbl"]').attr("disabled", true);
   }
 }