javascript - 动态添加的选择列表中的问题

标签 javascript jquery html css

在我的元素中,(编辑页面)我有一个输入框,其中包含来自数据库的值。并在该输入框上放置一个 div(当页面加载时未显示该 div)。我的需要是当我点击那个输入框时我想启用 div 并显示为下拉选择列表。我正在使用以下代码,

http://jsfiddle.net/wzPYf/1/

 <div class="role">
       <div style="float:left;">In Rotary Club of Puthencruz : &nbsp;</div>
       <div class="currentrole"><input type="text" value="@Model.Mem_Role" name="Mem_Role" id="memrole"/></div>
     <div class="allrole"></div>
   </div>

//jquery

$(document).ready(function () {
$('#memrole').click(function () {
    $('.allrole').attr('disabled', false);
    var arr = [
        { val: 'member', text: 'Member' },
        { val: 'president', text: 'President' }
    ];
    var sel = $('<select>').appendTo('body');
    $(arr).each(function () {
        sel.append($("<option>").attr('value', this.val).text(this.text));
    });
    $('.allrole').html(sel);
});

});

//CSS

.role {
position:relative;
display:inline-block;
}

.currentrole {
position: absolute;
margin-left:100%;
width:200%;
}

.allrole {
position:absolute;
width:150px;
height:20px;
margin-left:100%;
display:none;
}

但是我的 jquery 部分不工作,下拉选择列表没有显示。

最佳答案

将您的代码更改为此 -

$(document).ready(function () {
    $('#memrole').click(function () {        
        var arr = [
            { val: 'member', text: 'Member' },
            { val: 'president', text: 'President' }
        ];
        var sel = $('<select>');

        $(arr).each(function () {
            sel.append($("<option>").attr('value', this.val)
                .text(this.text));
        });

        $('.allrole').html(sel);
        $('.allrole').show();
});

JSFiddle .

您犯的错误是 - 要显示隐藏的 div,您需要调用 jQuery 的 show 方法就可以了。将禁用属性设置为 false 在这里不起作用。

您还可以通过调用 $('') 简单地创建一个 select 元素,不需要将它附加到主体,因为您已经将它附加到 .allrole div 稍后。接下来,我没有将带有选项的 select 元素作为文本分配,而是简单地将其附加到 .allrole div。

关于javascript - 动态添加的选择列表中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18584394/

相关文章:

javascript - 错误: Could not resolve 'api.movieDetails' from state 'api'

java - 特殊字符的表单字符编码问题

jquery - 如何在jquery中直接读取HTML

javascript - 使用嵌套单选按钮获取父输入 div 的 ID 以实现可访问性

javascript - 如何设置 HTML5 桌面通知的样式?

javascript - 获取计算具有类的元素的变量的长度,不起作用

javascript - JQuery UI resizable不支持位置: fixed; Any recommendations?

html - 将 DIV 宽度限制为父 DIV 宽度(没有显式宽度声明)

javascript - 使用 AJAX 刷新另一个 div 后将焦点设置在文本字段上

javascript - 将输入元素限制为特定字符串