2012-01-12 51 views
0

在jQuery中,可以检查var x = []是否更改,然后将该数组的内容添加到文本框中。jQuery on variable change,更新文本框

所以如果x包含["1","2","3"]。我的文本框textbox1值将是"1","2","3"

+1

此前一篇文章可能会帮助... [http://stackoverflow.com/questions/1029241/javascript-object-watch-for-all-browsers](http://stackoverflow.com/questions/1029241/javascript -object手表换所有的浏览器)。 – jabclab 2012-01-12 09:45:29

+0

如果你使用函数来改变x的值,你不需要一个观察者(如果可能的话)。 – Jeffrey 2012-01-12 09:47:25

回答

3

你可以做这样的事情,以避免使用观察家:

var Data = (function() { 
    var _x = [], 
     $textbox = $("#myTextbox"); 
    return { 
     getX: function() { 
      return x; 
     }, 
     setX: function (x) { 
      _x = x; 
      // Setting 'x' triggers an update 
      $textbox.val(x.join(",")); 
     } 
    } 
}(); 

,然后使用Data.setX(x)设置x值,并将其使用Data.getX()得到。

-1
if ($.inArray(x, [1, 2, 3]) != -1) { 
    $('#textbox1').val(x); 
} 
+0

我认为它不检查一个重要的特定内容,但检查x的内容何时更改... – 2012-01-12 09:55:59

0
var myString = myArray.join(','); 
$('#textbox1').val(myString); 
0

不知道看变量的变化,除非你创建一个具有“的onChange”事件的对象,但在文本框中显示的值使用此...

$("#textboxID").val(x.join(",")); 

最简单的事情将有一个更新功能与上面的代码,只是调用到处都改变x的值。