Селектор js, который вставляет частичку ruby во вновь созданный div

0

У меня есть числовые поля и связанные пустые div. Я могу сделать код, который делает это: когда вы увеличиваете или уменьшаете число внутри полей числа и добавляете новые div после пустого div. 1 в поле числа 1 новый div, 2 в поле количества 1 новый div 2 всего divs, 3 в поле количества 1 новый div 3 всего div. и так далее.

Сейчас мой код создает новый пустой div с чем-либо в нем. Но я хочу, чтобы новый div был создан с частичным рубином внутри нового div.

вот демо:

http://jsfiddle.net/7PhJZ/39/

Это то, что я пробовал в файле js.erb

$(document).ready(function() {
    $('.product-quantity').each(function() {
        $(this).data('val', this.value);
    }).on('change', function () {
            var val = $(this).val(),
                    old = $(this).data('val'),
                    ele = $(this).closest('[id^="product"]').find
                    ('[data-size="'+this.name+'"]'),
                    inc = val >= old;

            if (inc) {
                $('<div/>', {
                    'class': 'name-number-field', 'text':'<%= render :partial => 
                 'name_number_field', :locals => {:product => product, :size => size} %>'
                }).insertAfter(ele);
            }else {
                $('div.name-number-field', ele.parent()).last().remove();
            }

            $(this).data('val', this.value);
        });
});

2 ответа

0

Вы можете сделать это в файле js.erb:

$('#yourDiv').html('<%= escape_javascript( render :partial => "name_number_field", :locals => { :product => product, :size => size } )%>');
0

Я даже не знаю, как и я, но у меня есть идея, что драгоценный камень "кокон" делает именно то, что вы хотите (сделать частичное использование JS), но он требует ассоциации на моделях. Предполагая, что у вас нет ассоциации с моделью, вы просто хотите вставить частичные, Я бы предложил изучить концепцию кокона для идеи и подхода

https://github.com/nathanvda/cocoon/blob/master/lib/cocoon/view_helpers.rb https://github.com/nathanvda/cocoon/blob/master/app/assets/javascripts/cocoon.js

Ещё вопросы

Сообщество Overcoder
Наверх
Меню