2013-03-13 48 views
1

我一直在尋找這個答案很難,並從我的代碼和基本瀏覽器設置攻擊它。我試圖做的是根據選擇框的設置來改變文本字段。到目前爲止,我所做的一切正是我希望它在除瀏覽器之外的所有瀏覽器中執行的操作。還有什麼我需要申報來實現這一點,還是有另一種方法可以更好地實現我的最終目標?動態文本框時,選擇框更改

這是我目前所擁有的。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<script type="text/javascript"> 

function changeusf() 
{ 
    document.getElementById("usf").setAttribute("value",optionsusf.value); 
} 
</script> 
</head> 
<body> 

<input type="text" value="" name="usf" id="usf"/> 

<select id="optionsusf" name="optionsusf" onchange="changeusf()"> 
    <option value="--------------------">Select One</option> 
    <option value="0.00">No Tax</option> 
    <option value="0.18">18% Tax</option> 
    <option value="0.07">7% Tax</option> 
</select> 

</body> 
</html> 

預先感謝您的時間。

回答

1

試試這個:

<select id="optionsusf" name="optionsusf" onchange="changeusf(this.value);"> 
<option value="--------------------">Select One</option> 
<option value="0.00">No Tax</option> 
<option value="0.18">18% Tax</option> 
<option value="0.07">7% Tax</option> 
</select> 

function changeusf(val) 
{ 
    document.getElementById("usf").value = val; 
} 

在此我們使用的是簡單的JavaScript傳遞的價值onchangeselect box的功能和我們在那個功能只是收到價值並將其放入textbox。所以我們沒有使用任何在browser中產生任何問題的東西。

+0

這有效。你能給我一個理由嗎?有點新的JavaScript,並想知道爲什麼。謝謝 – 2013-03-13 06:07:34

+0

我剛剛給答案加了解釋。 – 2013-03-13 06:11:16

+0

優秀。再次感謝你。 – 2013-03-13 06:15:25

1

你應該只是做:

document.getElementById("usf").value = document.getElementById("optionsusf").value;

,而不是使用setAttribute

+0

我的確從此開始,並取得了相同的結果。在所有瀏覽器上執行我想要的功能同樣如此。我現在所擁有的是我運行的東西來嘗試,但我會改回它。 – 2013-03-13 06:02:21

0

1.增加在changeusf功能
$("#usf").val($("#optionsusf option:selected").text())
記住要包括的jquery以下jQuery代碼。