首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript创建的下拉列表在一行上展开

Javascript创建的下拉列表在一行上展开
EN

Stack Overflow用户
提问于 2016-12-02 23:35:53
回答 1查看 39关注 0票数 0

我在工作中创建了一个动态创建的下拉列表。我的HTML代码很简单

代码语言:javascript
复制
<SELECT id="competitors">
  <OPTION value="0">All values</OPTION>
</SELECT>

我已经创建了一个js函数,它在焦点上执行适当的查询并附加html。

代码语言:javascript
复制
success: function (data) {
   $(id).append(data.arr);
 )

当我循环一个数组时,它会附加纯HTML

代码语言:javascript
复制
$text .= "<OPTION value=\"$id\">$name</OPTION>";

然后我对字符串进行编码

代码语言:javascript
复制
$str['arr'] = $text;
echo json_encode($str);

dropdown的CSS只有width属性,而这个dropdown是遵循相同规则(使用on focus函数动态创建的)的。

问题是,当我在追加数据后单击下拉菜单时,它不会展开。它仍然是一个带有导航栏的单行下拉框,所以当我在获取数据时单击它时,它看起来就像that,在响应之后,而不是完整的下拉列表之后,我得到的是that

可能会有帮助的信息是:1.请求可能需要很长时间(2-10秒),因为我必须连接多个表,并对数千行的一些行进行分组。2.当我得到带有导航栏的1行下拉菜单的响应后,如果我重新单击它,它就会像应该的那样展开。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2016-12-03 00:12:21

您可以使用javascript来做类似的事情。

html:

代码语言:javascript
复制
<select id="competitors">
    <option value="0"> All values </option>
</select>

javascript:

代码语言:javascript
复制
document.getElementById('competitors').options[competitors.options.length]
 = new Option('theName', 'the value');

这里有一个小提琴:https://jsfiddle.net/f5a81Lv6/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40935833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档