我想从Framework7创建该选择:
<a href="#" class="item-link smart-select smart-select-init">
<!-- select -->
<select name="fruits">
<option value="apple" selected>Apple</option>
<option value="pineapple">Pineapple</option>
...
因此,在我的代码中,我从数据库中获取值,然后创建了元素。我特别关注seleted
属性:
_db_getvalues.company(id, function (result) {
if (result.rows.length > 0) {
var element = document.getElementById(mySmartselect);
var option = document.createElement("option");
option.setAttribute('selected', result.rows.item(i).name);
option.value = result.rows.item(i).name;
option.text = result.rows.item(i).name;
option.setAttribute('data-identificador', result.rows.item(i).name);
element.add(option);
}
});
但是不起作用;
option.setAttribute('selected',result.rows.item(i).name);
对我的选项列表没有影响
这是HTML部分
<a class="item-link smart-select smart-select-init" data-open-in="popover">
<select name="" id="mysmartselect">
</select>
<div class="item-content" >
<div class="item-inner" >
div class="item-title">Group</div>
</div>
</div>
</a>
这是我想看到的:
但这就是我得到的
我做错了什么?我没有在控制台上遇到错误。
答案 0 :(得分:0)
您的代码存在一些语法问题。
1- div
标签之一尚未关闭</div>
2-var element = document.getElementById("mySmartselect"); // class names have to between "
无论如何,如果我们假设您返回的数据工作正常,那么语法修复后的代码将起作用:
var element = document.getElementById("mySmartselect");
for (var i = 0; i < 5; i++) {
var option = document.createElement("option");
option.setAttribute('selected', 'apple'+i);
option.value = 'apple'+i
option.text = 'apple'+i;
option.setAttribute('data-identificador', 'apple'+i);
element.add(option);
}
<a class="item-link smart-select smart-select-init" data-open-in="popover">
<select name="" id="mySmartselect">
</select>
<div class="item-content" >
<div class="item-inner" >
<div class="item-title">Group</div>
</div>
</div>
</a>