首页 > 解决方案 > 你能在javascript中创建一个check_box_tag吗

问题描述

在视图上创建元素的方式主要是通过 JavaScript。我希望能够在同样动态创建的列表项旁边动态添加一个 check_box_tag,以便我可以访问 params 中的复选框。

有一个 haml 文件与 JavaScript 文件一起呈现,所以我创建了一个 javascript 函数并在创建其余元素的 JavaScript 文件中调用它。

JS文件中的脚本:

$(options).each(function()
        {
          genCheckbox();
          $('#unorderedRight').append('<li value="' + $(this).val() + '" style="display:inline;" title="'+ $(this).text()+'" onclick="selectLi(this)" selected=false>'+$(this).text()+'</li><br id="'+ $(this).text()+'_br">');
}

haml 文件中的脚本:

%script#genCheckbox
  :plain
    function genCheckbox()
    {
      $("#unorderedRight").append("=check_box_tag 'someid', 'somename', false ");
    }

预期的结果是列表项旁边会出现一个复选框。而是显示“=check_box_tag 'someid', 'somename', false”

标签: javascriptruby-on-railsrubyhaml

解决方案


只需将您的 HTML 字符串替换为以下内容:

$('#unorderedRight').append('<li value="' + $(this).val() + '" style="display:inline;" title="'+ $(this).text()+'" onclick="selectLi(this)" selected=false><input type="checkbox" name="'+ $(this).text()+'" value="'+ $(this).text()+'" /> '+$(this).text()+'</li><br id="'+ $(this).text()+'_br">');

推荐阅读