如何在PHP中获取文本框ID

时间:2011-04-04 11:39:41

标签: javascript jquery

我创建了一个文本框

<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);
    }
};

3 个答案:

答案 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);
    }
};