0

我需要创建一个数组,该数组需要在 jquery 每个函数中具有自定义索引和值。例如。我需要创建一个这样的数组 [4: 'sampleIndex1','test':'sampleIndex2'];

但是在使用每个函数时,jquery 需要 '4' 索引将是数组的第 4 个索引,剩余索引 0、1、2、3 会将值设置为空。我不需要数组中的 0 1 2 3 索引。非常感谢即时帮助!!!

提前致谢,

下面是示例代码,我需要为选择选项创建 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":"What is your dad's name?", "sample2":"What is your pets's name?", "sample3":"What is your school's name ?"}]

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 回答