在视图上创建元素的方式主要是通过JavaScript。我希望能够在一个列表项旁边动态添加一个check_box_tag,该列表项也是动态创建的,以便我可以访问params中的复选框。
在JavaScript文件的旁边有一个haml文件,因此我创建了一个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”
答案 0 :(得分:1)
只需将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">');