2017-05-26 9 views
0

私は製品のfamilynameを選択するとその値がボックスに表示されます(私はそれを表示するために何を使用すべきかわかりません)。ボックスを編集することはできません。 )。複数の値を1つのボックスに表示する方法は?

-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

? –

+1

これを行うだけです: 'document.getElementById( 'disabled')。value + = val;'そして完了です! –

+0

@DhavalMarthakそれは大丈夫ですか? – 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でこれを試してみましたが、動作しませんでしたが、これはChromeで動作します。私はまだ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

私は、これはあなたを助けることができると思います。 texboxは `textBox`のIDを持っている

<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では動作しませんが、Google Chromeで動作します:) IE11でどこで使用できるのかを探しています – Far

関連する問題