-1

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

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

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

这是应用程序的小提琴,您可以在“时间”列中看到 prolme。当我单击要编辑的行时,该值将消失,我也无法修改该值。 http://jsfiddle.net/codingbunny/p39kteqh/7/

任何建议将被认真考虑。

非常感谢!

4

2 回答 2

1

您需要设置如下所示的值

$result.val(value);
于 2015-12-24T07:12:55.647 回答
0

您知道需要访问的元素的索引,因为您刚刚构建了 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>

于 2015-12-24T07:36:45.723 回答