动态添加纸项到纸菜单
Adding paper-item to paper-menu dynamically
我有一个 paper-menu
:
<paper-menu id="city-menu"></paper-menu>
我正在根据 ajax return 的结果使用 jQuery 添加项目到另一个字段中。该字段并不重要,但 ajax 调用的成功函数是
function (data) {
if (data.success == 'true') {
menuItems = '';
$.each(data.data, function(index, city){
menuItems += '<paper-item id="'+city.id+'">'+city.name+'</paper-item>';
});
$('#city-menu').html(menuItems);
$('#city-menu').show()
} else {
$('#city-menu').hide()
}
}
但现在我已经升级了我的 Polymer 组件,这条线不再有效:
$('#city-menu').html(menuItems);
也就是说,我得到的不是一系列 'paper-item' 个城市,而是一个 div:
<div class="selectable-content style-scope paper-menu"></div>
(而且,是的,我已经验证 menuItems
是我认为应该的。)另一方面,如果我做了一些愚蠢的事情,比如
$('#city-menu').html('<h1>Hello World!</h1>');
然后就可以正常工作了。
所以一次插入整个菜单而不是项目是有效的。在这种情况下,ajax 调用的成功函数变为:
function (data) {
if (data.success == 'true') {
$('#city-menu').remove()
menuItems = '<paper-menu id="city-menu">';
$.each(data.data, function(index, city){
menuItems += '<paper-item id="'+city.id+'">'+city.name+'</paper-item>';
});
menuItems += '</paper-menu>';
$(menuItems).insertAfter('#city-id');
$('#city-menu').show()
} else {
$('#city-menu').hide()
}
}
令人惊讶的是,它有效。主要是。
我有一个 paper-menu
:
<paper-menu id="city-menu"></paper-menu>
我正在根据 ajax return 的结果使用 jQuery 添加项目到另一个字段中。该字段并不重要,但 ajax 调用的成功函数是
function (data) {
if (data.success == 'true') {
menuItems = '';
$.each(data.data, function(index, city){
menuItems += '<paper-item id="'+city.id+'">'+city.name+'</paper-item>';
});
$('#city-menu').html(menuItems);
$('#city-menu').show()
} else {
$('#city-menu').hide()
}
}
但现在我已经升级了我的 Polymer 组件,这条线不再有效:
$('#city-menu').html(menuItems);
也就是说,我得到的不是一系列 'paper-item' 个城市,而是一个 div:
<div class="selectable-content style-scope paper-menu"></div>
(而且,是的,我已经验证 menuItems
是我认为应该的。)另一方面,如果我做了一些愚蠢的事情,比如
$('#city-menu').html('<h1>Hello World!</h1>');
然后就可以正常工作了。
所以一次插入整个菜单而不是项目是有效的。在这种情况下,ajax 调用的成功函数变为:
function (data) {
if (data.success == 'true') {
$('#city-menu').remove()
menuItems = '<paper-menu id="city-menu">';
$.each(data.data, function(index, city){
menuItems += '<paper-item id="'+city.id+'">'+city.name+'</paper-item>';
});
menuItems += '</paper-menu>';
$(menuItems).insertAfter('#city-id');
$('#city-menu').show()
} else {
$('#city-menu').hide()
}
}
令人惊讶的是,它有效。主要是。