2012-07-12 51 views
3

我有一個選擇框和一個帶有跨度的標籤,我想在用戶在下拉框中更改其選擇時替換跨度內容。如何更改基於下拉選擇的跨度內容

<select class="text_select" id="field_6" name="field_6">  
<option value="- Select -">- Select -</option> 
<option value="Option One">Option One</option> 
<option value="Option Two">Option Two</option> 
<option value="Option Three">Option Three</option> 
</select> 

<label class="form_field">Your selected <span id="aggregator_name"></span>?</label> 

我使用這個腳本

<script type="text/javascript"> 
function notEmpty(){ 

var e = document.getElementById("field_6"); 
var strUser = e.options[e.selectedIndex].value; 
document.getElementById('aggregator_name').innerHTML = strUser; 

} 
notEmpty() 
</script> 

問題的,這是,每當我刷新頁面,跨度爲替換爲「 - 選擇 - 」但是當我改變下拉到另一種選擇,它不會更改跨度的內容? 請幫幫忙。

回答

4

您需要從下拉菜單中更改事件中調用函數:

document.getElementById("field_6").onchange = notEmpty; 

演示:http://jsfiddle.net/Mj4Vj/

或者,因爲你使用了「jQuery的」標籤,以下內容替換所有的JS:

$(document).ready(function() { 
    $("#field_6").change(function() { 
     $('#aggregator_name').html($(this).val()); 
    }).change(); 
}); 

演示:http://jsfiddle.net/Mj4Vj/1/

(注意:如果上述內容包含在出現在「field_6」元素後面的腳本塊中,例如,如果腳本位於主體的末尾,則不需要將代碼包裝到文檔就緒處理程序中。)

+0

謝謝隊友。這裏更新:http://jsfiddle.net/GEfwE/2/ – user1074803 2012-07-12 02:08:50

+0

不客氣。但我不明白你的更新與我的回答有何關係? (注意,當你有一個id時,選擇器「#field_6」比「select#field_6」更好 - 當id唯一時,不需要指定標記名。) – nnnnnn 2012-07-12 02:12:33

2

工作演示http://jsfiddle.net/GEfwE/1/

行爲:當過,你會改變什麼,你會看到cahnge跨度,

希望這會有所幫助,請讓我再知道如果我錯過了什麼! `:)〜

代碼

$('select').change(function(){ 

    $('#aggregator_name').html($(this).val()); 
}); 
​ 
+0

謝謝你們。更新與選擇ID http://jsfiddle.net/GEfwE/2/ – user1074803 2012-07-12 02:08:33

+0

@ user1074803不用擔心':)'很高興幫助! – 2012-07-12 02:10:06

1

可以使用平變化。

var e = document.getElementById("field_6"); 
e.onchange = function() { 
    var strUser = e.options[e.selectedIndex].value; 
    document.getElementById('aggregator_name').innerHTML = strUser; 
}