0

jQueryを使用して、選択したオプションだけでなく、すべてのオプションの値プロパティを取得する必要がある複数選択があります。

私は試した

$('#multiSelectAssignedGoTosForCourse').each(function (index) {
    console.log('index: ' + index + ', value: ' + $(this).val())
});

しかし、それはうまくいきませんでした(うまくいかないと思いましたが、何を試したらよいかわかりません)。

理想的には、数値 (オプションのデータベース ID) である値のコンマ区切りリストを作成する必要があります。

4

4 に答える 4

4

その ID を持つ各オブジェクトをループしていますが、おそらく 1 つだけです。

option代わりに、その下のタグをループする必要があります。

$('#multiSelectAssignedGoTosForCourse option').each(function(idx) {
    // etc.
});
于 2013-07-01T14:17:48.390 に答える
3
var values = $('multiSelectAssignedGoTosForCourse option').map(function () {
    return this.value;
}).get();

デモ

これにより、すべての値の配列が得られます。

また

コールバックの使用attr():

var values = [];
$('#multiSelectAssignedGoTosForCourse option').attr('value', function() {
   values.push(this.value);  
});

デモ

于 2013-07-01T14:19:19.990 に答える
1

#multiSelectAssignedGoTosForCourse現在、1 つの要素のみをループしています。#multiSelectAssignedGoTosForCourse optionセレクターとして使用するか、ループする前に.children()メソッドを使用する必要があります。

$('#multiSelectAssignedGoTosForCourse').children().each(function(i) {
    console.log("index: "+i, "value: "+this.value);
});

値のコンマ区切りリストを作成する必要があります

次に、以下を使用します。

var numbers = $.map($('#multiSelectAssignedGoTosForCourse').children(), function() {
    return this.value;
}).join(",");
于 2013-07-01T14:18:22.967 に答える
1

できることは次のとおりです。

$(function(){
 var arr = [];
 $('#multiSelectAssignedGoTosForCourse').children().each(function(){
     arr.push($(this).val());
 });
});

ここに実用的なフィドルがあります:http://jsfiddle.net/5XhL2/

于 2013-07-01T14:20:22.707 に答える