2012-04-27 32 views
2

我有一個包含HiddenField控件的頁面,我在頁面加載時註冊了一些javascript,其中包含我希望在HiddenField值發生更改時運行的函數。如何註冊Javascript函數以查找HiddenField值何時更改?

目前,我有以下的代碼執行該功能如果輸入字段的值發生了變化:

$(':input').change(function(){ pageHasBeenUpdated = true; }); 

什麼的JavaScript我需要設置pageHasBeenUpdated = true如果HiddenField控件的值已經更新?

+0

什麼會更新hiddenField?你的問題的答案取決於此。 – Bergi 2012-04-27 10:44:13

+0

隱藏字段在後面的C#代碼中更新。我需要更新javascript代碼行以查找隱藏字段的值(在$(document).ready())$(':input')後運行javascript。change()適用於頁面上的文本框字段,但它不適用於隱藏字段。 – Theomax 2012-04-27 10:47:20

回答

2

您可以通過在屬性選擇其指定訪問隱藏的輸入元素:

$('input[type=hidden]') 

因爲當你更新你需要觸發一個隱藏的輸入字段的值change事件不會被觸發你自己當你更新輸入的值。

例子:

的Html

<input type="hidden" id="myHiddenInput"> 
<button id="valueChanger">Change hidden input value</button> 

jQuery的

$('input[type=hidden]').change(function(){alert($(this).val())}); 

$('#valueChanger').click(function(){ 
    $('#myHiddenInput').val("Hello World").trigger('change'); 
}); 

Working Example

+0

$(':input')中的':'是什麼意思?您提供的代碼是否有必要? – Theomax 2012-04-27 10:51:10

+0

我沒有在我的代碼中使用':',沒有不需要 – 2012-04-27 10:53:23

+0

冒號通常用於使用僞選擇器,如$('input:after')'。我不確定它是基本元素選擇器之前的函數。 – 2012-04-27 10:55:01

相關問題