0

jqueryの各関数にカスタムのインデックスと値を持つ必要がある配列を作成する必要があります。たとえば。このような配列を作成する必要があります[4:'sampleIndex1'、'test':'sampleIndex2'];

ただし、各関数を使用している間、jqueryは「4」を取ります。インデックスは配列の4番目のインデックスになり、残りのインデックス0,1,2,3は値を空に設定します。配列に0123インデックスは必要ありません。インスタントヘルプは大歓迎です!!!

前もって感謝します、

以下はサンプルコードです。選択したオプションのdiv要素を作成する必要があります。

<select name="question" id="myselect">
                            <option value="sample1">What is your father's name?</option>
                            <option value="sample2">What is your pets's name?</option>
                            <option value="sample3">What is your school's name?</option>
                        </select> 

$("#myselect").changeselect({width:400}); 
$.fn.changeselect=function(options){
    var defaults = {  
            width: 600 
    };      
    var options = $.extend(defaults, options); 
    var createhtml="";
var selectarr=new Array();
    $("option",this).each(function(k,v){
selectarr[$(this).attr('value')] = $(this).html();  
            createhtml +="<div id='"+k+"'>"+$(this).html()+"</div>";
    });
console.log(selectarr);
$(this).after(createhtml);

};

[]空の配列が表示されます[{"sample1": "お父さんの名前は何ですか?"、 "sample2": "ペットの名前は何ですか?"、 "sample3":"学校の名前は何ですか? ?"}]

4

3 に答える 3

1

あなたはjavascriptオブジェクトを探しています。

(function () {

  var obj = new Object();

  $('#myselect option').each(function (index, option) {

    var option$ = $(option);

    $('<div/>').attr('id', option$.attr('value')).text(option$.html()).appendTo(/**/);

    obj[option$.attr('value')] = option$.html()

  });

  console.log(obj);

}).call(this)

並べ替えの例を次に示します。http://jsbin.com/irohow/6/edit

于 2012-07-25T23:36:13.847 に答える
0

これは有効なJavaScript配列ではありません。私はあなたがもっと次のようなものが欲しいと思います:

[{4: 'sampleIndex1'}, {'test':'sampleIndex2'}]
于 2012-07-25T22:39:15.913 に答える
0

配列に文字列キーを含めることはできません-これにはオブジェクトを使用する必要があります-

var a = new Object();
a['4'] = "Some Value";
a['5'] = "Another Value";

これはあなたに与えるでしょう-

{"4":"Some Value","5":"Another Value"}
于 2012-07-25T22:39:35.753 に答える