使用javascript从输入id获取值

时间:2017-09-04 20:12:36

标签: javascript html

假设我有表格

<input type="text" id="Rice" onkeyup="get();"value="">
<input type="text" id="Noodles" onkeyup="get();" value="">
<input type="text" id="Chicken" onkeyup="get();" value="">
<input type="text" id="Beef" onkeyup="get();" value="">

我在这里很困惑.. 我需要当id =“Rice”的输入值变为1,然后创建ID + VALUE(Rice 1)

JsFiddle:https://jsfiddle.net/2Lnmu5ja/

1 个答案:

答案 0 :(得分:0)

这样做:

&#13;
&#13;
$(function() {
  $("input").keyup(function() {
    var idne = this.id;
    var vale = this.value;
    alert(idne + " " + vale);
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="Rice" value="" placeholder="rice"><br>
<input type="text" id="Noodles"  value="" placeholder="noodles"><br>
<input type="text" id="Chicken" value="" placeholder="chicken"><br>
<input type="text" id="Beef" value="" placeholder="beef"><br>
&#13;
&#13;
&#13;

您的问题主要是上下文之一 - 您始终选择$("input")的值。该选择器获取所有输入元素,但是.attr()(根据http://api.jquery.com/attr/处该方法的文档的第一行)只返回第一个匹配元素的属性值。所以无论哪个元素称为&#34; get()&#34;方法,它总是读取第一个的属性。解决方案是使用this,它在事件监听器的上下文中将表示触发事件的元素。

我也稍微改了一下,使用了一个不显眼的事件处理程序,这个处理程序稍微冗长,代码和标记之间的分离更加清晰。

相关问题