0

在我下面的 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 代码:

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

3 回答 3

0

查找函数中的额外大括号

    function lookup(inputString) {
        if(inputString.length != 0) {
            $('[id^="lbl"]').attr("disabled", true);
        }
    });   <--- Remove this
  }       <---  Remove this
} // lookup
于 2012-10-09T19:07:55.060 回答
0

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

 }); 

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

 lookup = function(inputString) {
   if (inputString.length != 0) {
     $('[id^="lbl"]').attr("disabled", true);
   }
 }
于 2012-10-09T20:20:12.727 回答
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);
});

例子

于 2012-10-09T19:20:39.840 回答