我正在处理一个表单,我需要编写一些jQuery来获取当前的输入字段id。
实际上,当用户在字段中输入值时,我需要代码自动获取此输入字段的id并将其存储在变量中。问题是我无法使用id来选择它,因为这是我所追求的信息。
我尝试过这样的事情:
Var test = $(this).attr('id');
但这不起作用。
答案 0 :(得分:3)
简单的this.id
可以正常使用。
答案 1 :(得分:2)
假设您的大小写是一个拼写错误,那么如果您将其包装在click事件处理程序中,它应该可以正常工作:
$('input').click(
function(){
var test = $(this).attr('id');
/* or, preferably to my mind, in plain JavaScript:
var test = this.id;
*/
console.log(test); // show the variable in the JavaScript console
alert(test); // alerts the variable
});
我建议将此包装在click
事件处理程序或其他任何内容中的原因只是为this
(或this
的jQuery版本提供上下文。 :$(this)
),可以从中检索id
。
答案 2 :(得分:1)
首先“Var”应为var
二。您应该在更改事件
上实现此功能var test;
$(document).ready(function() {
$(myinputfieldselector).change(function() {
test = this.id;
});
})
最后。我会更具体,但您需要显示相关的代码。
答案 3 :(得分:0)
您的代码在哪里执行?是否提交表格?当文本输入字段?
如果要从表单中选择所有输入,可以编写
inputElements = $("#idOfFormElement").find("input");
答案 4 :(得分:0)
一个简单的解决方案是在您希望具有此行为的输入上放置一个类。这是一个例子:
<div id="choose-record-number">
<input type="text" class="ip" id="number-records" value="50" />
<input type="text" class="ip" id="record-type" />
<input type="submit" class="ip" id="view-records" value="Visualizar" />
</div>
<div id="show"></div>
接下来,在jQuery中,只需向插入的类添加一个侦听器即可。当关注任何输入时,该监听器将被“激活”:
$(".ip").focus(
function() {
$("#show").html($(this).attr('id'));
});
在函数内部,访问$(this)
将获得当前选择的输入。
答案 5 :(得分:0)
大家好,非常感谢你的帮助。
我终于找到了处理所有输入的代码的方法:
$("form").live("nested:fieldAdded", function() { //to listen to the new added line event
$('.ip').blur( //launching the function when the user enters something in the input field
function(){
var test = this.id; //Get the id of the current field
var pattern = /[0-9]+/; //Only conserve the numeric part of it
var intRegex = test.match(pattern);
var string = ('pinvoice_pinvlines_attributes_new_'+ intRegex +'_montant_HTVA'); //Build the string id
var a = document.getElementById(test).value //Get the value of the inputed field by the user
document.getElementById(string).value = a; //Finaly copy the value of the field in a new one using his specific id build with the STRING variable
});
});