使用JQuery创建html标签

时间:2013-08-19 17:49:54

标签: jquery tags

我需要使用JQuery

在select标签内创建选项标签

这是选择标记:

<select id="tickets-room" style="height: 20px; width:200px; display: inline-block; margin-top:30px;" onchange="refreshRooms(this.value);">
</select>

每个选项标签都需要一个ID,如1,2,3,4

每个选项标签都应该接收“resp [] .key”作为文本。

我不知道它是否有意义,但我不知道如何解释它,这是我需要的一些元素的代码。 resp.key是我需要的名称作为选项标签内的文本,resp.value是我需要放在select标签之外的按钮上的URL。

function refreshRooms(city){
    $.ajax('/services/tickets/<%= movieId %>?city=' + city).done(
        function(resp){
            alert(resp.length);
            console.log(resp[0].key + " " + resp[0].value); 
        }
    );      
}

3 个答案:

答案 0 :(得分:2)

使用jQuery.append()

function refreshRooms(city){
    $.ajax('/services/tickets/<%= movieId %>?city=' + city).done(
        function(resp){
            var sel = $("#tickets-room");

            for (var i = 0; i < resp.length; i++) {
                sel.append('<option value="' + resp[i].key + '">' + resp[i].value + '</option>');
            }
        }
    );      
}

答案 1 :(得分:1)

function refreshRooms(city){
    var jqTickers = $('#tickets-room');
    $.ajax('/services/tickets/<%= movieId %>?city=' + city)
        .done(function(resp){
            $.each(resp, function() {
                jqTickers.append($('<option value="' + this.key + '">' + this.value + '</option>')
            });
        });
    });      
}

答案 2 :(得分:1)

您可以使用以下语法创建新元素:

$('<option></option>');

然而,这个元素无处可去。它尚未添加到DOM中,因此不可见。您需要使用append方法或appendTo方法。它看起来像是:

$('#tickets-room').append( $('<option></option>').attr( {'id':i,'value':resp[i].key} ).html( resp[i].key ) );