2017-06-06 11 views
0

私はマルチ選択ドロップダウンを持っています。選択したテキストと値はすべて、他のドロップダウンの各エントリとして表示されます。私はこのようにコード化しましたが、動作しません。複数選択ドロップダウンのすべての選択は、他のドロップダウンの1つの項目に追加されます。別のエントリとして表示されません。jqueryを使用してマルチテキストドロップダウンと一緒に選択したテキストとid値を他のドロップダウンに移動する

#LstCashAccountは複数選択ドロップダウンで、#ddlDefaultCashは複数選択ドロップダウンリストで選択した項目が

$('#LstCashAccount').change(function() { 

    $("#ddlDefaultCash").empty(); 
    $("#ddlLoyaltyAcc").empty(); 
    var CashAcc = ""; 
    var CashAccId = $("#LstCashAccount").val(); 
    CashAccIdSplit = CashAccId.splice(",") 
    CashAcc = $(this).find("option:selected").text(); 
    CashAccSplit = CashAcc.split(".") 

    $("#ddlDefaultCash").append('<option class="InputDefCash" Id=' + CashAccIdSplit + '>' + CashAccSplit + '</option>'); 

}); 

答えて

0

ので、複数の問題がここにある影響を及ぼし取得する必要がドロップダウンです。

最初に、.append()機能が実際にアイテムを作成していることに気づくことが重要です。あなたはを一度と呼んでいるので、複数の項目があることを期待するのは、率直に言って、ちょっとばかげています。

第2に、無効な文字列に.splice()を使用しています。私は.split()を行うことを意味していましたが、あなたのHTMLマークアップなしでは、暗闇の中でちょっとしたショットです。

そして最後に、あなたのCashAccSplit変数が(と、私は仮定し、あなたのCashAccIdSplitがあることををを想定している)配列です。これを文字列と連結するだけで、配列全体が出力されます。

我々はこれをクリーンアップする場合は、あなたがより多くの次のようなものを探しているかもしれない...

$('#LstCashAccount').change(function() { 

    $("#ddlDefaultCash").empty(); 
    $("#ddlLoyaltyAcc").empty(); 

    var CashAcc = $(this).find("option:selected").text(); 
    var CashAccId = $("#LstCashAccount").val(); 

    var CashAccIdSplit = CashAccId.split(",") 
    var CashAccSplit = CashAcc.split(".") 

    //Use .each to iterate through the array, append each member as an item 
    $.each(CashAccIdSplit, function(index, item) { 
     $("#ddlDefaultCash").append('<option class="InputDefCash" Id=' + CashAccIdSplit[index] + '>' + CashAccSplit[index] + '</option>'); 
    }); 

}); 
+0

ISEAが.multiselectドロップダウンオプションは機能していない上に、あなたがなければ、他のドロップダウン.. – Anith

+0

に影響されていませんHTMLマークアップ、変数に実際に含まれていることを知っているか、再現可能な例を提供すると、より適切なソリューションを提供できる人はいません。より正確な回答を希望される場合は、元の質問にもっと多くの情報を提供する必要があります。 – Santi

関連する問題