1

いくつかの選択ボックスがあり、そのうちのいくつかは複数選択されているフォームがあります。これまでのところ、各選択ボックスからテキスト領域にテキスト値を渡すことができました。ただし、複数選択ボックスから複数のオプションを渡すことはできません。誰でもここで助けることができますか?つまり、選択した最初の項目だけでなく、選択したすべてのテキストを複数の選択ボックスに渡したいと思います。

私のコードは「未定義」を返し続けます。これらのフォーラムを検索すると、jQuery の「option:selected」修飾子を使用すると、選択したすべての項目のテキストが返されるようです。

function writeText(){
// get assign the values from each text input
var myCAPtext = document.getElementById('CAPoutput');

// assign multiple text values
var select_1 = $("#box1 option:selected").text();

var  CAPtext = select_1.value+"\n\n";
  myCAPtext.value = CAPtext;
  }

HTML

<select id="box1" multiple>
<option></option>
<option>first text</option>
<option>second text</option>
<option>third text</option>
<option>fouth text</option>
</select>

<input value="Write" onclick="writeText()" type="button"> <br>

<textarea id="CAPoutput">
4

1 に答える 1

3

text文字列を返します。Stringオブジェクトにはvalueプロパティがありません。jQueryvalメソッドを使用します。複数のselect要素の値の配列を返します。次にjoin、配列オブジェクトのメソッドを使用して配列の要素を結合できます。

var select_1 = $("#box1").val();
var CAPtext = select_1.join("\n\n");

http://jsfiddle.net/ZCTRC/

onclick属性に別れを告げたい場合:

$('input[type=button]').click(function () {
    var myCAPtext = document.getElementById('CAPoutput');
    myCAPtext.value = $("#box1").val().join("\n\n");
})
于 2013-02-24T05:30:09.647 に答える