我有一個擁有多個選擇列表的頁面,並且使用jQuery的.change()函數更改了選擇列表之一時,我更改了select中旁邊的文本名單。加載頁面時,每個範圍中都有一些文本(每個範圍的文本都不相同)。問題是當頁面加載.change()函數循環遍歷所有選擇列表來改變每個區間中的文本時。我不想讓用戶在列表中選擇一個不同的項目時,跨度中的文本會發生變化。我不能只檢查是否有跨度中的文本,因爲如果用戶確實更改了選定的項目,那麼不管是否有文本,我只是不想在頁面加載。那麼,如何在頁面加載時讓.change()函數停止觸發?代碼:讓jQuerys .change()在頁面加載時運行
JS/jQuery的
$(document).ready(function() {
$("select").change(function() {
var txt = $(this).val();
$(this).next('span').text(txt);
}).trigger('change');
});
HTML(重複多次)
<select name="animal[]">
<option value="dog" selected="selected">dog</option>
<option value="cat">cat</option>
<option value="bird">bird</option>
<option value="snake">snake</option>
</select>
<span class="out">text that shouldn't be replaced until user changes selected item</span>
感謝您的幫助!
那麼,這只是讓我看起來很愚蠢,我添加它時,我有問題得到它原來的工作,並沒有刪除它。感謝您的解釋! – Scott 2010-08-14 12:34:49