如何使用jQuery元素选择器从表单获取输入字段的ID

时间:2015-07-02 08:27:57

标签: javascript jquery

我的表单中包含每个输入字段的唯一ID,并且我已将jquery附加到' input'来形成。我想获取用户使用jquery函数更改某个值的字段的id。我在警告中跟随代码时遗漏了一些谜题(" ....声明

 $(document).ready(function () {

    $("#CreateStudentProfileForm").on('input', function () {

        alert($(this).find().closest().attr('id'));

    });

});

html表单

<input class="form-control text-box single-line valid" data-val="true" data-val-number="The field Student UWL ID must be a number." data-val-range="Only Number Allowed" data-val-range-max="2147483647" data-val-range-min="0" data-val-required="Require Your Student UWL ID" id="StudentNumber_UWLID" name="StudentNumber_UWLID" value="" type="number">

我有很多输入字段的实例,如上面的

7 个答案:

答案 0 :(得分:3)

如果您将事件分别附加到每个字段,该怎么样?

$(document).ready(function () {
    $("#CreateStudentProfileForm").find("input,textarea,select").on('input', function () {
        alert(this.id);
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="CreateStudentProfileForm">
  <input type="text" id="input1">
  <input type="text" id="input2">
  <input type="text" id="input3">
</form>

答案 1 :(得分:1)

如果要跟踪输入使用更改事件的更改事件

   //assuming you input id is CreateStudentProfileForm
   $("#CreateStudentProfileForm").on('change', function () {
    alert(this.id) //should give you the changed input id
    //alert($(this).find().closest().attr('id'));

   });

keyup更好

  $("#CreateStudentProfileForm").keyup(function () {
    alert(this.id)
    //alert($(this).find().closest().attr('id'));

});

<强>更新

这将获取id CreateStudentProfileForm指定的表单中的所有输入,并添加keyup事件以跟踪更改。

//assuming CreateStudentProfileForm is form's ID
$("#CreateStudentProfileForm:input").keyup(function () {
    alert(this.id) //should give you the changed inputs id
    //alert($(this).find().closest().attr('id'));

   });

答案 2 :(得分:1)

$('#CreateStudentProfileForm').on('change keyup','input', function(){
  var id = $(this).attr('id')
})

“id”是您想要的ID ...

答案 3 :(得分:0)

使用:

this.id;

或者获得:

$(this).attr("id");

答案 4 :(得分:0)

假设您有类似的HTML

<form id="CreateStudentProfileForm">
  <input type="text" id="input1">
  <input type="text" id="input2">
  <input type="text" id="input3">
</form>

然后你可以做类似

的事情
$('#CreateStudentProfileForm > input').on('input change', function () {
    alert($(this).attr('id'));
});

请注意,此事件将同时触发inputchange。您可能只想在更改或输入时触发它,具体取决于您需要做什么。

答案 5 :(得分:0)

$(document).ready(function() {$(“#CreateStudentProfileForm”)。find(“input”)。on('input',function(){var get_id = $(this).attr('id');});});

答案 6 :(得分:0)

做这样的事情http://jsfiddle.net/elviz/kqvdgrmk/

$(document).ready(function(){

  $("#CreateStudentProfileForm input").keyup(function(){

    alert(this.id);    
  });

});