我创建了一个文本框
<input type="text" onkeyup="lookup(this.value);" value="" name="Name_Code" id="Name_Code">
在lookup
函数中,我需要提供控件ID。如何在不知道确切ID的情况下获取此ID?
我尝试了这个,但它不起作用:
function lookup(inputString) {
if(inputString.length == 0) {
// Hide the suggestion box.
$('#suggestions').hide();
} else {
var currentId = $(this).attr('id');
alert(currentId);
}
};
答案 0 :(得分:0)
尝试使用这可能是它的作品
onkeyup="lookup(this.id);"
function lookup(id){
alert(id);
}
答案 1 :(得分:0)
您需要将event
传递给您的函数,它就在那里。
首先将此添加到输入标记:
onkeyup="lookup(event, this.value);"
现在该功能将是:
function lookup(event, inputString) {
...
var sender = event.target || event.srcElement;
var currentId = sender.id;
...
}
无论如何,你在滥用jQuery。正确使用将是:
$(document).ready(function() {
$("#Name_Code").bind("keyup", function() {
var inputString = $(this).val();
if(inputString.length == 0) {
// Hide the suggestion box.
$('#suggestions').hide();
} else {
var currentId = $(this).attr('id');
alert(currentId);
}
});
});
此处提供了测试用例:http://jsfiddle.net/yahavbr/LpbW9/
答案 2 :(得分:0)
如果使用jquery,则应该使用jquery绑定。
对于您现有的设置,这将有效
<input type="text" onkeyup="lookup(this);" value="" name="Name_Code" id="Name_Code">
function lookup(obj) {
if(obj.value.length == 0) {
// Hide the suggestion box.
$('#suggestions').hide();
} else {
var currentId = obj.id; //note that I passed -this- and not -this.value-
alert(currentId);
}
};
由于你已经有jquery我建议你应该这样做
<input type="text" value="" name="Name_Code" id="Name_Code">
$('#Name_Code').keyup(lookup);
function lookup() {
$this = $(this); //since we have the jquery object
if($this.val().length == 0) {
// Hide the suggestion box.
$('#suggestions').hide();
} else {
var currentId = $this.attr('id'); //note that I passed -this- and not -this.value-
alert(currentId);
}
};