私はこれを機能させていますが、既存のコード内で機能させることができません。
私が起こる必要があるのは:http://jsfiddle.net/uJcB7/176/
したがって、チェックボックスからdivに機能を追加すると、それらがリストに追加されます。それぞれの機能を動作させていますが、2つを組み合わせる方法がわかりません。
チェックボックスからdivに機能を追加すると、機能の文字列がリストとして追加され、ドラッグできるようになります。
乾杯
私はこれを機能させていますが、既存のコード内で機能させることができません。
私が起こる必要があるのは:http://jsfiddle.net/uJcB7/176/
したがって、チェックボックスからdivに機能を追加すると、それらがリストに追加されます。それぞれの機能を動作させていますが、2つを組み合わせる方法がわかりません。
チェックボックスからdivに機能を追加すると、機能の文字列がリストとして追加され、ドラッグできるようになります。
乾杯
答える最も簡単な方法はデモンストレーションを使うことだと思いますか?
うまくいけば、これがあなたが求めているものです、私はあなたのためにコードを分解します。
まず、ドキュメント対応の関数呼び出しをマージし、適切なタイミングで同じセレクターを使用していたjQueryステートメントをすべて折りたたみました。これにより、初期化コードが作成されました。これは次のとおりです。
$(function() {
$("#sortable").sortable().disableSelection();
$('#cblistp input').click(additionalFeatures);
additionalFeatures();
});
次に、元の配列を折りたたんで、jQueryの関数allVals
に置き換えました。関数は本質的にmap
関数であり、結果として返される要素の配列が追加されます。関数内では、選択したすべてのHTML入力を1つずつ返すだけです。それから私は少し良い結合でそれらを'しています。これは私たちに与えます:map
each
map
.value
join
,
// add additional features
function additionalFeatures() {
// map the selected items
var text = $.map($('#cblistp :checked'), function(input) {
return input.value;
}).join(', ');
$('#additionalFitFeatures').text(text);
};
これに加えて、前述のように、map
関数は関数と同様にeach
機能します。これにより、に表示するテキストを選択すると同時に、新しい並べ替え可能なリストを作成できますdiv
。最初に古い並べ替え可能ファイルをクリアする必要があり、次に選択したアイテムを追加し、最後に新しい並べ替え可能ファイルを作成します。これにより、次のようになります。
// add additional features
function additionalFeatures() {
// clear out the old sortable
var sortableList = $('#sortable').sortable('destroy').find('li').remove().end();
// map the selected items
var text = $.map($('#cblistp :checked'), function(input) {
sortableList.append('<li>' + input.value + '</li>');
return input.value;
}).join(', ');
$('#additionalFitFeatures').text(text);
sortableList.sortable();
};