سؤال

أنا أعمل مع مجموعات Google في منتديات Knockout للمساعدة في هذا أيضًا - لكنني أعتقد أن جمهورًا أكبر لا يمكن أن يؤذي الموقف أبدًا.

أحاول الحصول على KO للعمل مع موقف باستخدام المكون الإضافي لـ JQuery UI "قابل للفرز". لدي رمز الخاص بي نشر هنا.

http://www.pastie.org/1285716

محاولة استخدام الربط المخصص ...

        ko.bindingHandlers.onReceiveItem = {
            init: function (element, valueAccessor, allBindingsAccessor, viewModel) {
                $(element).bind("sortreceive", function (event, ui) {
                    ko.bindingHandlers.onReceiveItem.update(element, valueAccessor, allBindingsAccessor, viewModel);
                });
            },
            update: function (element, valueAccessor, allBindingsAccessor, viewModel) {
                var value = ko.utils.unwrapObservable(valueAccessor());
                var bindings = allBindingsAccessor();
            }
        };

الهدف من ذلك هو أنه عندما تتلقى القائمة القابلة للفرز عنصرًا ، يمكنها الحصول على العنصر وإضافته إلى OsheraBleArray الأخرى.

هذا لا يعمل بالنسبة لي تمامًا. أواجه صعوبة في الحصول على الحدث لإطلاق النار كما أريد. الطريقة التي قمت بإعدادها ، إنها تطلق النار ، لكنها تعيد فقط قيمة "حقيقية/خاطئة". كنت آمل أن يكون لدى شخص آخر فكرة عما أفعله خطأ وأعرف كيفية إصلاحه.

(لاستخدام الرمز ، تحتاج إلى الإشارة

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/base/jquery-ui.css" rel="Stylesheet" />

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.js"></script>

في الجزء العلوي ، ثم أحدث إصدار من Knockout (1.1.1)

http://cloud.github.com/downloads/stevesanderson/knockout/knockout-1.1.1.debug.js

هل كانت مفيدة؟

المحلول

لم أدرك كان ستيف قد أجاب بالفعل هذا قبل أن أنتهي. هنا تذهب ، بطريقة مختلفة قليلا عنه.

يمكن فرز هذا الأمر أكثر صعوبة ، وكان هذا سيكون أسهل بكثير مع السحب والإسقاط ملزمة مرتبطة بكل منتج. المشكلة مع الفرز هي أنك ملزم في القائمة بأكملها بدلاً من العناصر.

http://www.pastie.org/1432093

نصائح أخرى

لقد قمت بإعادة صياغة العينة وجاءت مع رابط كامل تقريبًا ، ولا يتطلب سمة معرف ويتعامل أيضًا مع إعادة ترتيب. هذا هو الرمز:

http://jsbin.com/knockoutsortable/20/edit

الاستخدام:

  • إنه يستخدم القالب. للربط لمعرفة ما هو الصفيف المرتبط في ViewModel.

  • يمكنك استخدام databind = "foreach: منتجات ، قابلة للفرز: صحيح" لتمكين الفرز داخل صفيف واحد بدون خيارات.

  • إنه يعمل مع كائنات Observablearray.

  • إنه يقوم ببناء jQuery يمكن فرزه بمفرده ، يمكنك تمرير كائن الخيارات نفسها في الربط أكثر منه في مُنشئ jQuery.sortable.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top