我在jQuery mobile中动态生成选择菜单的内容,我正在尝试在菜单中的第一个选项上设置所选属性,但它似乎不想工作。这是我的AJAX响应:
request.done(function(response){
$('#selectCat option').remove();
if(response.categories.length != 0) {
for(var i = 0; i < response.categories.length; i++) {
$('<option name="' + response.categories[i].cat_name
+ '" id="' + response.categories[i].cat_id_PK + '">'
+ response.categories[i].cat_name + ' - $'
+ response.categories[i].cat_amount + '</option>')
.appendTo("#selectCat");
}
};
if(response.recurring.length != 0) {
for(var i = 0; i < response.recurring.length; i++) {
$('<option name="' + response.recurring[i].cat_name + '" id="'
+ response.recurring[i].cat_id_PK + '">'
+ response.recurring[i].cat_name + ' - $'
+ response.recurring[i].cat_amount + '</option>').appendTo("#selectCat1");
}
};
$('#selectCat option:first-child').attr('selected', true)
.siblings('option').removeAttr('selected');
});
在Chrome开发工具中查看时,该代码会生成以下内容:
<option name="Grooming" id="109" selected="selected">Test - $40.00</option>
<option name="Test" id="110">Test - $50.00</option></select>
似乎我不需要刷新菜单,因为那是AJAX请求正在做的事情,但是关于SO的其他问题指出这是罪魁祸首。