0

別の選択リストを使用して選択リストをフィルタリングしようとしています。問題は、フィルタリングされた後にリストをリロードできないことです。そのため、ユーザーが誤って最初のリストで間違った選択を行った場合、2 番目のリストにはオプションが残されません。以下の私のコードをご覧ください。

        $('#selectCftDialog').change(function() {
            //alert('Handler for .select() called.');
            var tempCftID;
            tempCftID = $("#selectCftDialog").val();
            //alert("The tempCraftID is: CftID-" + tempCraftID)
            $('#selectSpDialog option').not('#CftID-' + tempCftID).remove();    
                    });
4

1 に答える 1

2

できることはdata、選択要素自体の起動時にオプションを保存することです。

$('#selectSpDialog').data('options', $('#selectSpDialog option')); // Set the jquery data `options` with the initial set of options.

$('#selectCftDialog').change(function () {
    //alert('Handler for .select() called.');
    var tempCftID;
    tempCftID = $("#selectCftDialog").val();
    //alert("The tempCraftID is: CftID-" + tempCraftID)
    $('#selectSpDialog option').not('#CftID-' + tempCftID).remove(); // Ok you can remove now
});

function someEventCalledProabablyReset()
{
    var select = $('#selectSpDialog');
    select.html(select.data('options')); //Set back all the saved options.
}

フィドル

于 2013-06-19T03:07:58.950 に答える