3
我需要動態屬性添加到一個JS對象,這是我通過eval()函數來實現的: 動態分配性質的JS對象
$ ->
#Methods
window.add_address = (attributes, id=new Date().getTime())->
$container = $('ul#addresses_list')
$unit = $('<li>')
$.each attributes, (key,value)->
$input = $('<input type="hidden">')
$input.attr 'name', "contact[addresses_attributes][#{id}][#{key}]"
$input.val value
$unit.append $input
$container.append $unit
#Events
#Add address button
$('a#add_address').on 'click', (ev)->
attributes = new Object
$('#address_fields').find('input').each ->
eval("attributes.#{$(this).attr 'id'}='#{$(this).val()}'");
add_address attributes
此作品完美,但我覺得彆扭與eval()
,是無論如何要做到「漂亮」?我的意思是,我搜索了像Jquery .serializeArray()這樣的替代方案,但它似乎只適用於查詢表單,我需要從#address_fields
div獲得輸入。
剛我在找什麼。這幾乎讓我對這個新手問題感到難過。謝謝! – nicooga
沒問題..我們都有我們的學習曲線 – charlietfl