1

以前に回答済みのことを質問して申し訳ありません。私は調査を行い、いくつかの例を試しましたが、これに固執することにしました。

http://remysharp.com/2007/01/20/auto-populating-select-boxes-using-jquery-ajax/

配列の形式の json 応答があります。

[{"Key":"100","Value":"Allium"},{"Key":"101","Value":"Banksia"}]

query-mobile フロントエンドは次のとおりです。

<select name="flower" id="flower-name"> <option value="">-Select Flower Name-</option></select>

上記の例に従って、選択オプションを入力するために記述しようとしている jQuery の 2 つのバージョンがあります。最初の例ではエラーは発生しませんが、select にオプションが入力されません。

$(function(){
$('#page-id select #flower-name').change(function(){
    var options = $('#page-id select #flower-name option');
    var url = "http://flower-server.com:80" ;
    $.getJSON(url,{id: $(this).val(), ajax: 'true'}, function(data,options){
        options.remove();
        for (var i=0 ; i<data.length; i++){
            options += '<option value="' + data[i]["Key"] + '">' + data[i]["Value"] + '</option>';
        }
        this.html(options);
    });
});
});

2番目はこのエラーを生成します:

elem.nodeName is undefined file: /jquery.js Line 2317

これはコードです:

function flowerSelectRequest(url, selectObjId, options) {

var result = ""


$.ajax({
    type: "GET",
    url: url,
    id: $(this).val(),
    dataType: "jsonp",
    success: function(data){

        selectObjId.change(function() {
            options.remove();
            for (var i=0 ; i<data.length; i++){
                options += '<option value="' + data[i]["Key"] + '">' + data[i]["Value"] + '</option>';
            }
            selectObjId.html(options);
        });


    },
    error: function(jqXHR, textStatus, errorThrown){

        //error handling
    },
    complete: function(){
        // 
}
});
return result;
}

$('#page-id').live("pagecreate", function() {
var selectObjId = $('#page-id select #flower-name');
var options = $('#page-id select #flower-name option');
var url = "http://fower-server.com:80" ;
flowerSelectRequest(url, selectObjId,options);

});
4

0 に答える 0