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

How to get and set different values of two jquery nodes?

我有两个 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;

但系统说:未捕获类型错误:无法读取未定义的 属性 'val'。

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

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

这里是应用的fiddle,你可以在"Time"栏看到prolme。当我单击要编辑的行时,该值将消失,我也无法修改该值。 http://jsfiddle.net/codingbunny/p39kteqh/7/

如有任何建议,我们将不胜感激。

非常感谢!

您需要设置如下所示的值

$result.val(value);

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

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

示例:

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);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>