2012-04-03 73 views
1

我知道這之前已經覆蓋,但我無法找到正是我需要的....副本下拉字段選擇到一個隱藏的文本字段

把東西短,我需要複製所選擇的選項從下拉字段到文本框。我有這個代碼來做到這一點:

$(function(){ 
    $('#font').bind('change', function(){ 
     $('#input').val($(this).val()); 
    }); 
});​ 

,但頁面加載在下拉場預選的選項,這意味着人們不一定需要選擇一個選項。即使用戶不參與並選擇不同的選項,我如何才能使用id #input字段顯示來自下拉菜單#font的選項?

在頁面加載

米羅

回答

2

$(function(){ 
    //this first line loads the pre-selected value into the text box 
    $('#input').val($('#font option:selected').val()); 
    //still want to bind the change event 
    $('#font').bind('change', function(){ 
     $('#input').val($('#font option:selected').text()); 
    }); 
}); 

http://jsfiddle.net/Us8CG/5/

退房小提琴,由於通過@MetalFrog回答。

+0

感謝這就是偉大的!只是一個問題...而不是返回文本字段中的值,是否可以返回文本?我的意思是這個值是一個url地址,而文字只是說Ariel。我用文本替換了最後一個.val())((),但是這隻在頁面加載時才起作用,一旦我改變了選擇,所有選項都會一個接一個地顯示在文本字段中 – Miro 2012-04-03 13:57:30

+0

是的,你必須指定只需更新下拉列表中的選定值即可更新答案,您需要在綁定點擊事件的函數中使用'option:selected' – 2012-04-03 14:20:38

+0

謝謝,我剛剛意識到有一個更簡單的解決方案這...只是用下拉菜單的默認值預填充輸入字段... – Miro 2012-04-04 11:57:19

1

保存價值爲#input當DOM準備就緒,然後設置change事件處理程序:

$(function(){ 
    $('#input').val($('#font').val()); 
    $('#font').bind('change', function(){ 
     $('#input').val($(this).val()); 
    }); 
});​ 
相關問題