如何在javascript中获取调用html输入框的id

时间:2014-03-12 17:02:14

标签: javascript jquery html

如何在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>

javasc.js

function setVal()
{
$('#one').val("First Message");
$('#two').val("Second Message");              
}

我想要这样的东西。

javasc.js

function setVal()
{
id=getElementIdWhichInvokedTheFunction();
$(id).val("Some Message");             
}

5 个答案:

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

进行调用

JsFiddle

答案 1 :(得分:1)

如果您想在帖子中使用您的功能

<input type='text' id='one' onclick='setVal()'/>

您需要将其更改为

<input type='text' id='one' onclick='setVal(this);' />

并修改函数以接受参数。

http://jsfiddle.net/C9VQC/1/

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