如何在JavaScript函数中获取html输入框的'id',以将值设置为调用JavaScript函数的相应输入框
<html>
<script type='text/javascript' src='./javasc.js'></script>
<input type='text' id='one' onclick='setVal()'/>
<input type='text' id='two' onclick='setVal()'/>
</html>
function setVal()
{
$('#one').val("First Message");
$('#two').val("Second Message");
}
我想要这样的东西。
function setVal()
{
id=getElementIdWhichInvokedTheFunction();
$(id).val("Some Message");
}
答案 0 :(得分:1)
使用this
引用:
function setVal(elem) {
id = elem.id;
$(id).val("Some Message");
}
要调用:
setVal(this);
如果您传递了该对象,则不需要该ID来操纵它:
function setVal(elem) {
$(elem).val("Some message");
}
您仍然使用setVal(this);
答案 1 :(得分:1)
如果您想在帖子中使用您的功能
<input type='text' id='one' onclick='setVal()'/>
您需要将其更改为
<input type='text' id='one' onclick='setVal(this);' />
并修改函数以接受参数。
或强>
<input type='text' id='one' />
<input type='text' id='two' />
$("input").click(function(){
alert($(this).attr('id'));
});
答案 2 :(得分:0)
您可以传递this
(当前元素),点击该内容并从setVal()
内的此元素中获取ID,例如
function setVal(elem){
id=elem.id; // id is 'one' if you click on button one
//do action with fetched id
}
答案 3 :(得分:0)
$("input").click(function(){
$(this).val("Some message");
});
然后从HTML中删除onclick
属性。如果页面上有其他input
元素,您不希望受到影响,请使用以下命令:
$("#one,#two").click(function(){
$(this).val("Some message");
});
答案 4 :(得分:-1)
在调用函数时传递id,然后设置值。
.....
<input type='text' id='one' onclick='setVal("one")'/>
.....
function setVal(this)
{
$(this).val("some message");
}