2012-01-12 52 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的值。