2009-10-27 69 views
0

我有以下HTML:不能添加文本到隱藏的輸入字段

<input id="brandID" name="brandID" type="hidden" value="" /> 

<select id="selectList" class="textfield70pc" name="selectList"> 
    <option selected="" value="221">A</option> 
    <option value="4673">B</option> 
</select> 

一旦改變一個選擇框的值,我需要填充此輸入字段。 我試過這樣的東西,但它不工作。

 jQuery('#selectList').change(function(){ 
     jQuery('#brandID').attr('value', '123123'); 
     }); 

建議任何人?

更新
這工作雖然:

document.getElementById('brandID').value = '123' 

但我想使用jQuery。

+0

添加了一些相關標籤 – Jakub 2009-10-27 13:58:22

+0

更改事件是否正常工作? – Cesar 2009-10-27 14:00:27

+0

請注意,在第一個示例中,當您說.brandID時,您正在使用_class_ brandID檢查輸入 – 2009-10-27 14:02:55

回答

5

變化不是jQuery live支持

可能的事件值:單擊,DBLCLICK,鼠標按下,鼠標鬆開,鼠標移動,鼠標懸停,鼠標移開,的keydown,按鍵,KEYUP

目前不支持:模糊,焦點, 了mouseenter,鼠標離開,變更,提交

如果你想使用現場,用live query


編輯:你上面的代碼應該工作,因爲它是,也許你的選擇列表的格式不正確?

這個基本的HTML做我上面的功能工作:

<select id="selectList"> 
<option>1</option> 
<option>2</option> 
</select> 

嗯,也許你只是沒有看到它更新HTML,但它更新DOM(您使用的螢火蟲?)我加警報顯示值,它只是在第一眼顯示正確的值

$(document).ready(function(){ 
jQuery('#selectList').change(function(){ 
    jQuery('#brandID').attr('value', '123123'); 
    alert($('#brandID').val()); 
}); 
}) 
+0

或者只是將change事件綁定到一個永遠不會的容器元素取而代之的是,檢查修改過的元素是否是你的#selectList。 – 2009-10-27 14:21:53

+0

啊,我忘了,好吧,我會用$('#selectList')。改爲改變,但仍然無法添加值 – Steven 2009-10-27 14:26:58

+0

ok,但是html沒有更新 - 從我看到的使用Firebug中獲得的信息需要以某種方式綁定更改 – Steven 2009-10-27 15:01:44

0
jQuery('#selectList').live('change', function(){ 
    jQuery('#brandID').value = '123123'; 
}); 

請記住,IE將不會觸發onchange事件,直到選擇失去焦點。

0

這是行不通的?

jQuery('#selectList').bind('change', function(){ 
    jQuery('#brandID').val('123123'); 
}); 

編輯:

從jQuery直播()documentation page

新增jQuery的1.3:綁定所有當前的處理程序,以一個事件(像click) - 和未來 - 匹配的元素。也可以綁定自定義事件。 可能的事件值:單擊,DBLCLICK,鼠標按下,鼠標鬆開,鼠標移動,鼠標懸停,鼠標移開,的keydown,按鍵,KEYUP 目前不支持:模糊,對焦的mouseenter,鼠標離開,變更,提交

+0

沒有。這也行不通:( – Steven 2009-10-27 14:32:31

+0

@Steven你可以提供你的selectList的標記嗎?這個問題可能在那裏,而不是與隱藏的輸入字段相關聯 – JamesEggers 2009-10-27 14:53:20

0

$(document).ready(function() 
{ 
    $('#selectList').change(function() { $('#brandID').val('123123'); }); 
}); 

我的假設:selectList是某個有效的ID。

如果這是一個實際的選擇列表(僅由名稱暗示),您是否在意選擇了什麼?你的<select>元素後的$(document).ready()或在<script>標籤運行此Javascript -

$(document).ready(function() 
{ 
    $('#selectList').change(function() { 
     mychoice = $('#selectList option:selected').text(); 
     $('#brandID').val(mychoice); 
    }); 
}); 
0

讀取沒有爲你工作,我要問的基本問題所有這些良好的反應之後?它必須是一個或另一個,以便在設置其屬性之前使DOM樹包含該元素。