我的表单中包含每个输入字段的唯一ID,并且我已将jquery附加到' input'来形成。我想获取用户使用jquery函数更改某个值的字段的id。我在警告中跟随代码时遗漏了一些谜题(" ....声明
$(document).ready(function () {
$("#CreateStudentProfileForm").on('input', function () {
alert($(this).find().closest().attr('id'));
});
});
<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">
我有很多输入字段的实例,如上面的
答案 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'));
});
请注意,此事件将同时触发input
和change
。您可能只想在更改或输入时触发它,具体取决于您需要做什么。
答案 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);
});
});