JavaScript 関数に値を渡そうとしていますが、アンカー タグ (プラス アイコン) をクリックすると、Firebug で以下のエラーが発生します。
私がやろうとしているのは、「プラス」記号をクリックすると、部分的なフィールドをテーブルに追加することです。ここで何が間違っていますか?
現在、内部に「+」を含むテーブルがあります<th>
。テーブルに(部分的な)データを追加したい。
エラー
SyntaxError: syntax error
[Break On This Error]
add_fields(this, contact, "<tr class=\'fields\'>\n<td>...
ヘルパー ファイル
module TestHelper
def add_fields(name, obj)
if (obj == 'contact')
fields = render :partial => '/test/add_fields', :locals => {:map_values => ["Name", "URL", "Address"]}
link_to_function(name, h("add_fields(this, #{obj}, \"#{escape_javascript(fields)}\")"))
elsif (obj=='company')
fields = render :partial => '/test/add_fields', :locals => {:map_values => ["CName", "CURL", "CAddress"]}
link_to_function(name, h("add_fields(this, #{obj}, \"#{escape_javascript(fields)}\")"))
elsif (obj=='lead')
fields = render :partial => '/test/add_fields', :locals => {:map_values => ["LName", "LURL", "LAddress"]}
link_to_function(name, h("add_fields(this, \"#{obj}\", \"#{escape_javascript(fields)}\")"))
end
end
end
ファイルを閲覧する
=add_fields 'Add', 'contact'
部分的な _add_fields.html.haml
%tr.fields
%td
%select{:class => 'select-two'}
- map_values.each do |e|
%option #{e}
jsファイル
add_fields = function(obj, maptype, content){
//console.log(obj.closest('.table'));
var parent = $(obj).closest('.table');
var msg_obj = $('.alert.alert-info',parent);
if(msg_obj.length > 0) {
msg_obj.closest('tr').addClass('hidden');
}
$('tbody',parent).append(content);
$("select.select-two").select2({allowClear: true});
};