2

ドロップダウン値がアルファベット順に表示されています。しかし、私はそのような必要はありません。値を追加すると、アルファベット順が変更されるためです。

例えば、

私は多くの機能を持っています

  1. -- Designer-- // サブ機能

  2. アクセサリーデザイナー

..すぐ。

しかし、私のドロップダウンが表示されています

  1. アクセサリーデザイナー、

  2. --デザイナー--.

ここに私のJqueryコード

 $('#dropdown').change(function () {
    $("#dropdown1").show();
    $.ajax({
        url: "/Jobs/dropdown1",
        type: 'GET',
        data: { 'dropdownId': $(this).val() },
        dataType: 'json',
        success: function (response) {
            if (response.Success) {
                $('#dropdown1').children().remove();

                $.each(response.dropdown1, dropdown (index, role) {
                    $('#dropdown1').append(
                        '<option value="' + dropdown1.Id + '">' +
                            dropdown1.Name +
                        '</option>');
                });
            }
        },
        error: function (xhr, status, error) {

        }
    });
});

最初のドロップダウンをクリックすると、2 番目のドロップダウンが自動的に表示されます。

この問題から私を助けてください。

4

1 に答える 1

1

サーバー側で順序を変更する方法がわからない場合は、クライアントで変更する必要があります。

あなたの説明から、結果はJSON各アイテムがIdとを持っているオブジェクトでありName、名前ではなくIDでそれらを反復したいという結果を収集します。

したがって、コードに次の変更を加えることをお勧めします。

if (response.Success) {
    $('#Roles').children().remove();

    var results = [];
    // Converting the JSON object into an array
    $.each(response.Roles, function(index, role) {
        results.push(role);
    });

    // Sorting the array items by Id
    results.sort(function(a, b) {
        return a.Id - b.Id;
    });

    $.each(results, function (index, role) {
        $('#Roles').append(
            '<option value="' + role.Id + '">' +
                role.Name +
            '</option>');
    });
}

Idアイテムがに追加される前に、結果セットを並べ替える必要があります#Roles

于 2012-12-03T11:53:01.953 に答える