我需要创建一个数组,需要在每个函数的jquery中有自定义索引和值。例如。我需要创建一个这样的数组[4:'sampleIndex1','test':'sampleIndex2'];
但是在使用每个函数时,jquery采用'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”:“你父亲的名字是什么?”,“sample2”:“你的宠物的名字是什么?”,“sample3”:“你学校的名字是什么?”}]
答案 0 :(得分: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
答案 1 :(得分:0)
这不是一个有效的javascript数组。我想你想要更像的东西:
[{4: 'sampleIndex1'}, {'test':'sampleIndex2'}]
答案 2 :(得分:0)
你不能在数组中使用字符串键 - 你应该使用一个对象 -
var a = new Object();
a['4'] = "Some Value";
a['5'] = "Another Value";
这会给你 -
{"4":"Some Value","5":"Another Value"}