jquery:当文本框发生变化时获取它的值和id

时间:2014-11-17 02:48:12

标签: javascript jquery html ajax

我是一个Jquery noob,非常在学习阶段   这是我的小提琴: http://jsfiddle.net/4tjof34d/

(双击三个点中的任意一个以获得上述小提琴中的文本框,然后在该框中输入一个值并按Enter键) 正如您所看到的那样,但是当用户将新值放入文本框时,如何获取id和值?

基本上,我需要得到这样的价值:

var theId  = $(this)id;
var newValue = $(this)value;

// console.log(theId+" "+newValue+ " "+savedData);

所以我可以进行AJAX调用以使用新值/ s更新数据库 如果您也可以在代码中添加注释,例如:

// ajax call here

也会受到赞赏!

4 个答案:

答案 0 :(得分:2)

我注意到你正在使用jQuery,但实际上更容易获得没有它的值:

var showText = function() {
  console.log(this.id);
  console.log(this.value);
}

但是,要使用jQuery获取值,只需使用attr()val()

var showText = function() {
  // Cache $(this) since we're
  // using it more than once.
  var $this = $(this)

  console.log($this.attr('id'))
  console.log($this.val())
}

答案 1 :(得分:2)

您可以按如下方式使用纯JavaScript:

var theId = this.id; //or $(this).attr('id');

var newValue = this.value; //or $(this).val();

THE HOW& WHERE

var showText = function () {
    $(this).hide();//show text
    $(this.nextElementSibling).show();//hide input
    $.ajax({
        url: '....',
        data: {id: this.id, value: this.value},
        ....
    });
};

答案 2 :(得分:2)

对于任何输入元素使用Jquery,您可以使用.val()函数。所以你的语法就像

$("selector").val();

现在这个选择器的语法将继续变化。例如,如果您想获得输入元素的任何特定id的值,请使用"#"。因此,如果您的输入字段的ID为" testId"你会做的

<input type="text" id="testId" class ="testClass"/>
$("#testId").val();

如果您想要相同的值,但是在类属性的帮助下,您将执行

来代替id
$(".testClass").val();

现在,如果你有一些除输入字段以外的其他字段,理想情况下你应该使用.text()。

因此,如果你有一个id为testDiv的div,你只需要做

<div id ="testDiv" class="testDivClass">Test</div>
$("#testDiv").text();
$(".testDivClass").text();

只是一个建议,因为你正在学习jQuery,现在不要使用混合的东西(混合核心javascript)只是为了完成所有的工作。这样你可能不得不花一些时间学习东西,但最终你会以更好的方式学习东西

希望这会有所帮助。

快乐学习

答案 3 :(得分:1)

使用.attr().val()获取属性和值:

 $(this).attr('id');

 $(this).val();