我有下面这个小提琴。 http://jsfiddle.net/7YFHX/
<ul></ul>
<script>
function test() {
var myNum = [1,2,3,4,5],
myNumTxt = ['one','two','three','four','five'];
return [myNum, myNumTxt];
}
var myTest = test(),
myTestNum = myTest[0],
myTestNumTxt = myTest[1];
console.log(myTestNum);
console.log(myTestNumTxt);
$.each(myTest, function (index, value) {
$("ul").append('<li title="' + value[1] + '">' + value[0] + '</li>');
});
</script>
我想要返回的是我的数组中每个项目的列表项,其中myNumTxt显示在标题文本中,如下所示。
<ul>
<li title="one">1</li>
<li title="two">2</li>
<li title="three">3</li>
<li title="four">4</li>
<li title="five">5</li>
</ul>
目前我正在返回以下内容。
<ul>
<li title="2">1</li>
<li title="two">one</li>
</ul>
我在这里做错了什么?如何为每个值返回两个值?
答案 0 :(得分:2)
如何使用for
循环如下:
var myTest = test();
for(var i = 0; i < myTest[0].length; i++){
$("ul").append('<li title="' + myTest[1][i] + '">' + myTest[0][i] + '</li>');
}
答案 1 :(得分:0)
您正在将myTest传递给each
功能。那就是问题所在。试试这个:
$.each(myTestNum, function (index, value) {
$("ul").append('<li title="' + myTestNumTxt[index] + '">' + value + '</li>');
});
答案 2 :(得分:0)
You can do it like this way,
var listItems={};
var myNum = [1,2,3,4,5];
var myNumTxt = ['one','two','three','four','five'];
$.each(myNum, function(index,value){
createHash(myNumTxt[index],myNum[index])
});
function createHash(key,value){
listItems[key]=value;
}
$.each(listItems, function (key, value) {
$("ul").append('<li title="' + key + '">' + value + '</li>');
});