選択したアイテムをリストボックスの一番上に表示するための解決策を見つけることに本当に夢中になっています。ここではノックアウトを使用して、リスト ボックスをバインドしています。私の見解では、リストボックスは以下のようにバインドされています
<select id ="multiAltVersion" multiple="multiple" data-bind="options: $root.editOnlyAlternativeVersions, optionsText: 'PlatformVersionName',optionsValue: 'Id',selectedOptions: $root.copiedAltVersion, chosen: true "> </select>
WCF サービスを呼び出してリストボックスを埋めます。
function loadVersionListByProductType(prodtype) {
var input =
{
ProductType: prodtype
};
$.ajax({
url: "../RestService/Test/ReturnData",
type: "PUT",
contentType: 'application/json',
processData: false,
data: JSON.stringify(input),
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
},
success: function (allData) {
var mappedVersionListByProdType = $.map(allData, function (item) {
return new productVersionListByProductType(item);
});
self.editOnlyAlternativeVersions(mappedVersionListByProdType);
}
});
}
データが WCF サービスから返されると、降順でデータが返されます。しかし、選択したものを一番上に表示してから、リストを降順に並べ替えたいと思います。別のサービスからアイテムのリストを取得し、別のサービスから選択したアイテムを取得します。それは理にかなっていますか?Jqueryを使用してどのように達成できますか?