0

我有一个选择列表。我想在选择该选项时找到一个索引。取自数据库的选项值,但索引未刷新。这是我的代码

function loadListPenyakit(){
        $.ajax({
            type: 'get',
            url: 'http://10.0.2.2.com/compfest/ajax/belajar/list_p.php',
            success: function(response){
                var file = '';
                $.each(response, function(index, item){
                    file += '<option value='+$("select[name='select-choice-b'] option:selected").index()+'>' + item.penyakit + '</option>';
                });
                $('#select-choice-b').html(file).selectmenu().selectmenu('refresh', true);
            },
            error: function(e){
                alert('Communication Server Error ');
            }
        });
    }

当我从数据库中获取数据时,索引值为 0。这意味着没有刷新。请帮帮我 !

4

1 回答 1

1

你不能那样使用索引。您必须在更改事件中建立索引并将其发送到 ajax 调用。使用您现在拥有的东西,您将选项值设置为不存在的东西。这是您正在寻找的演示。

这是JS:

$(document).on("pageinit", "#first", function () {
    //  $.ajax({
    //        type: 'get',
    //      url: 'http://10.0.2.2.com/compfest/ajax/belajar/list_p.php',
    //   success: function(response){

    //assume i got this from an ajax call
    var response = [{
        "penyakit": "tempor"
    }, {
        "penyakit": "consequat"
    }, {
        "penyakit": "non"
    }, {
        "penyakit": "esse"
    }, {
        "penyakit": "magna"
    }, {
        "penyakit": "laboris"
    }, {
        "penyakit": "cupidatat"
    }, {
        "penyakit": "eiusmod"
    }, {
        "penyakit": "nostrud"
    }, {
        "penyakit": "quis"
    }, {
        "penyakit": "ullamco"
    }, {
        "penyakit": "in"
    }, {
        "penyakit": "esse"
    }, {
        "penyakit": "ullamco"
    }, {
        "penyakit": "non"
    }]

    var file = '';
    $.each(response, function (index, item) {
        //dont use index now. it can be collected only during runtime ie., only when the dropdown changes
        file += '<option>' + item.penyakit + '</option>';
    });
    $('#select-choice-b').html(file).selectmenu().selectmenu('refresh', true);

    //  },
    //  error: function (e) {
    //    alert('Communication Server Error ');
    //  }
    //});


    //index must be taken in the change event
    $(this).on("change", "select", function () {
        var index = $(":selected", this).index();
        //use index variable to make ajax call now. 
        alert(index);
    });

});
于 2013-08-19T02:57:06.540 回答