如何获取和设置两个jquery节点的不同值?

时间:2015-12-24 07:10:22

标签: javascript jquery jsgrid

我有两个jquery节点:

$result = this._editTime = 
             $("<input>")
               .attr({"type":"number", "style":"display:inline;", "min":"0"})
               .add("<span>&nbsp;d&nbsp;<span>")
               .add("<input type='number' style='display:inline;' , min='0'></input>")
               .add("<span>&nbsp;h&nbsp;<span>");

我想为两个输入字段设置初始值,并获取修改后的值。 如果我使用

$result.val(value) 

2个输入的值将是相同的,但我想设置不同的值。 我也尝试过:

$result.siblings("input")[0].value = days;
$result.siblings("input")[1].value = hours;

但系统说:Uncaught TypeError:无法读取属性&#39; val&#39;未定义的。

但是,我可以通过此方法读取值,但该值不是我修改的值。

那么,如何为这两个输入字段设置初始值(不同)并获取我更改的新值?

这是应用程序的小提琴,你可以看到&#34;时间&#34;柱。当我单击要编辑的行时,该值将消失,我也无法修改该值。 http://jsfiddle.net/codingbunny/p39kteqh/7/

任何建议都将受到赞赏。

非常感谢!

2 个答案:

答案 0 :(得分:1)

您需要设置值,如下所示

$result.val(value);

答案 1 :(得分:0)

您知道需要访问的元素的索引,因为您刚刚构建了jQuery对象。只需直接访问<input>

$result[0].value = days;
$result[2].value = hours;

示例:

&#13;
&#13;
var $result = $("<input>").attr({
  "type": "number",
  "style": "display:inline;",
  "min": "0"
}).add("<span>&nbsp;d&nbsp;<span>").add("<input type='number' style='display:inline;' , min='0'></input>").add("<span>&nbsp;h&nbsp;<span>");

var days = 1;
var hours = 2;

$result[0].value = days;
$result[2].value = hours;

$(document.body).append($result);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;
&#13;
&#13;