我正在尝试使用jQuery填充JSON的有序列表,但数据未被添加到列表中。我在Fiddle中粘贴了我的代码,它似乎正在按照它应该的方式工作。列表未使用jQuery与JSON数据填充
JavaScript文件:
var data = {
"product": [
"Product 1",
"Product 2",
"Product 3"
],
"company": [
"Company 1",
"Company 2",
"Company 3"
],
"contact": [
"Contact 1",
"Contact 2",
"Contact 3"
]
};
$.each(data, function (key, value) {
if (key === 'product') {
for (var i = 0; i < value.length; i++) {
var option = ('<li>' + value[i] + '</li>');
$('#product').append(option);
}
}
if (key === 'company') {
for (var i = 0; i < value.length; i++) {
var option = ('<li>' + value[i] + '</li>');
$('#company').append(option);
}
}
if (key === 'contact') {
for (var i = 0; i < value.length; i++) {
var option = ('<li id="new">' + value[i] + '</li>');
$('#contact').append(option);
}
}
});
$('#cssmenu > ul > li > a').click(function() {
$('#cssmenu li').removeClass('active');
$(this).closest('li').addClass('active');
var checkElement = $(this).next();
if ((checkElement.is('ul')) && (checkElement.is(':visible'))) {
$(this).closest('li').removeClass('active');
checkElement.slideUp('normal');
}
if ((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
$('#cssmenu ul ul:visible').slideUp('normal');
checkElement.slideDown('normal');
}
if ($(this).closest('li').find('ul').children().length == 0) {
return true;
}
else {
return false;
}
});
HTML:
<div id='cssmenu'>
<ul>
<li class='active'><a href='#'><span>Home</span></a>
</li>
<li class='has-sub'><a href='#'><span>Products</span></a>
<ul id='product'>
</ul>
</li>
<li class='has-sub'><a href='#'><span>Company</span></a>
<ul id='company'>
</ul>
</li>
<li class='last'><a href='#'><span>Contact</span></a>
<ul id='contact'>
</ul>
</li>
</ul>
</div>
这里是小提琴代码:
我目前使用的移动就绪HTML5 MVC.NET模板在Visual Studio 2010.
我在我的项目中正在使用其他jQuery代码工作正常,所以我怀疑它是一个源代码问题。
任何帮助,将不胜感激。
我不知道这一点,但你应该reasearch一点。我想在MVC.NET中,你不能使用传统的jQuery JSON解析(我猜你正在使用Ajax)。 – Victor