2017-05-26 76 views
0

我正在製作一個表格,當我選擇產品的familyname時,它的值將顯示在一個框中(我不知道該用什麼來顯示它),並且該框不能被編輯(只能被讀取)。如何在一個框中顯示多個選定的值?

-HTML

<select name="fnme" onchange="setText(this)" multiple> 
      <option value="STR12(12,YU,IO)">STR12(12,YU,IO)</option> 
      <option value="STR13(13,YU,IO)">STR12(13,YU,IO)</option> 
      <option value="STR14(14,YU,IO)">STR12(14,YU,IO)</option> 
      <option value="STR15(15,YU,IO)">STR12(15,YU,IO)</option> 
    </select> 
<td><textarea rows="10" cols="30" name="textBox" id="disabled" value=""/ disabled></textarea></td> 
</br> 
<p><input type="submit" value="Save"></p> 

-ASPCode

<% 
DIM fnm,element   
fnm=Split(Request("fnme"),"\n") 
FOR EACH element IN fnm 
Response.Write("<p>--qq-- " & trim(element) & " </p>") 
Next 
%> 

現在我使用的文本區域,但仍然有許多顯示值的問題,它顯示在一個選定值。

-JS

<script> 
function setText(obj) { 
var val = obj.value; 
document.getElementById('textBox').value = val; 
} 
</script> 

我想知道這是可以顯示多個值?

+0

凡具有'textBox'的ID texbox? –

+1

只要做到這一點:'document.getElementById('disabled')。value + = val;'你就完成了! –

+0

@DhavalMarthak它的作品wahhh謝謝你thankyou – Far

回答

0

當你這樣做:

var val = obj.value; 

你只拿到第一選擇的選項的值,不是所有的人(除非你使用像jQuery的)。

和正斜槓在:

<textarea ... id="disabled" value=""/ disabled> 

也沒有幫助。我會認爲這只是一個發佈錯誤。

function getMultiSelectValue(select) { 
 
    return [].reduce.call(select.options, function(values, option) { 
 
    option.selected? values.push(option.value) : null; 
 
    return values; 
 
    }, []); 
 
} 
 

 
function showValues(values){ 
 
    document.getElementById('ta').value = values.join('\n'); 
 
}
<select onchange="showValues(getMultiSelectValue(this))" multiple> 
 
    <option value="0">0 
 
    <option value="1">1 
 
    <option value="2">2 
 
</select> 
 
<textarea id="ta" rows="3" readonly></textarea>

+1

我在IE上嘗試這個,它沒有工作,但它在鉻上工作,這要感謝我學習一些新的東西,例如一次調用兩個函數。我仍然試圖找到如何在IE上工作,謝謝:D – Far

+1

哪個版本的IE不起作用?我知道IE 8不喜歡將主機對象作爲* this *傳遞給內置Array方法,但它應該有一個[* polyfill *](https://developer.mozilla.org/en-US/docs/) Web/JavaScript/Reference/Global_Objects/Array/Reduce),所以不應該成爲問題。我希望這可以在IE 9+中工作(但我暫時無法測試)。 – RobG

+0

我使用的是IE 11版本,我會嘗試學習polyfill,謝謝 – Far

0

我認爲這可以幫助你。

<html> 
 
<body> 
 

 
<form action="" name="tof"> 
 
<select name="fnme" onchange="setText(this)" multiple> 
 
      <option value="STR12(12,YU,IO)">STR12(12,YU,IO)</option> 
 
      <option value="STR13(13,YU,IO)">STR12(13,YU,IO)</option> 
 
      <option value="STR14(14,YU,IO)">STR12(14,YU,IO)</option> 
 
      <option value="STR15(15,YU,IO)">STR12(15,YU,IO)</option> 
 
</select> 
 
<textarea id="res" readOnly></textarea> 
 
</form> 
 

 
<p id="demo"></p> 
 

 
<script> 
 

 
function setText(ob){ 
 
    var selected_options = document.forms['tof']['fnme'].selectedOptions 
 
    var selected_options_values = [] 
 
    for(i=0; i<selected_options.length; i++){ 
 
    \t selected_options_values.push(selected_options[i].value) 
 
    } 
 
\t document.getElementById('res').value = selected_options_values.join('\n') 
 
} 
 
</script> 
 

 
</body> 
 
</html>

+0

它不適用於IE11,但在Chrome瀏覽器上工作:)我正在尋找我們可以在IE11上使用的位置 – Far

相關問題