0

我正在研究 wijmo 网格,我想在网格中添加选择框,其数据来自 JSON。

这是我尝试过的代码,但它没有在框中显示选项数据。

<script type="text/javascript">
$.ajax({ 
    url: "DeviceType",
    type: "GET",
    dataType: "json",
    contentType : "application/json",
    success: function (responce) { 
        if (responce.listResponse.items.length > 0) {
            $.each(responce.listResponse.items, function (i, entity) {                   
                $('#devicetype').append(
                    $('<select/>', {
                        'id': 'deviceType' + entity.paramCode,
                        'type': 'select', 
                        'name':         'deviceType', 
                        'value': entity.paramValue
                    }),
                    $('<options />', {
                        'for': 'deviceType' + entity.paramValue, 
                        'text':         entity.paramValue
                        }).click(function() {
                        alert(entity.paramCode);
                    })  
                    );                  
            });
        }
    }
});
</script>
<body>  
<div id="devicetype" name="deviceType" ></div>
</body>
4

1 回答 1

1

您将选项附加到#devicetype,但您需要将它们附加到选择:

/* not tested */
$( '#devicetype' ).append(
    $( '<select/>', {
        'id': 'deviceType' + entity.paramCode,
        'type': 'select',
        'name': 'deviceType',
        'value': entity.paramValue
    } ).append(
        $( '<option />', {
            'for': 'deviceType' + entity.paramValue,
            'text': entity.paramValue
        } )
    ).click( function() {
        alert( entity.paramCode );
    } )
);

更新:哦——正如 tpaksu 在上面的评论中所说,你拼错了option。也许你应该首先在一个单独的循环中编译所有选项——当前版本只适用于一个选项。

于 2012-09-10T11:18:31.383 回答