Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在新创建的div中插入ruby部分的js选择器_Javascript_Jquery_Ruby On Rails - Fatal编程技术网

Javascript 在新创建的div中插入ruby部分的js选择器

Javascript 在新创建的div中插入ruby部分的js选择器,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,我有数字字段和相关的空div。我可以编写这样一个代码:当您增加或减少数字字段中的数字时,在数字字段1中插入一个新div。空div之后插入一个新div。1在数字字段1中插入新div,2在数字字段1中插入新div 2总计div,3在数字字段1中插入新div 3总计div。等等 现在,我的代码正在创建一个新的空div,其中没有任何内容。但是我想要的是在新div中创建一个ruby分部 下面是一个演示: 这是我在js.erb文件中尝试过的 $(document).ready(function() {

我有数字字段和相关的空div。我可以编写这样一个代码:当您增加或减少数字字段中的数字时,在数字字段1中插入一个新div。空div之后插入一个新div。1在数字字段1中插入新div,2在数字字段1中插入新div 2总计div,3在数字字段1中插入新div 3总计div。等等

现在,我的代码正在创建一个新的空div,其中没有任何内容。但是我想要的是在新div中创建一个ruby分部

下面是一个演示:

这是我在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);
        });
});
$(文档).ready(函数(){
$('.product quantity')。每个(函数(){
$(this.data('val',this.value));
}).on('change',function(){
var val=$(this.val(),
old=$(this).data('val'),
ele=$(this).closest('[id^=“product”]')。查找
(“[data size=“”+this.name+“]”]),
inc=val>=old;
if(公司){
$('', {
“类”:“名称编号字段”,“文本”:”
'name_number_field',:locals=>{:product=>product,:size=>size}%>'
}).插入符(ele);
}否则{
$('div.name-number-field',ele.parent()).last().remove();
}
$(this.data('val',this.value));
});
});

我也不知道怎么做,但我有个主意 gem“cocoon”的功能完全符合您的要求(使用JS渲染部分),但它需要在模型上进行关联 假设您并没有模型关联,您只想插入部分,我建议您研究cocoon的想法和方法的实现


您可以在js.erb文件中执行此操作:

$('#yourDiv').html('<%= escape_javascript( render :partial => "name_number_field", :locals => { :product => product, :size => size } )%>');
$('#yourDiv').html(''name_number_field',:locals=>{:product=>product,:size=>size})%>');
让jQuery查询它。