2015-04-28 67 views
1

我有一個表,我追加表數據。部分數據是複選框。如果變量(inspectFall)有1(選中),我需要選中該框。下面的代碼工作,但似乎與.each()調用混亂。有不同的方法嗎?記住什麼都沒有被點擊,甚至我找不到被觸發(加載,模糊等)。它調用函數來檢查框。謝謝!追加後jquery運行函數

.append($('<td>').addClass('smallBox').append($('<input>', {'class': 'centerText', 'name': 'inspectFall', 'type': 'checkbox'}).each(function() { checkBoxes($(this), inspectFall); }))) 

回答

0

你可以做什麼是對對象傳遞給你的checkBoxes()功能是這樣的:

.append($('<td>').addClass('smallBox').append ($('<input>', checkBoxes({'class': 'centerText', 'name': 'inspectFall', 'type': 'checkbox'})))) 

,然後在你的功能,你可以擴展和返回的對象,如果inspectFall有1這樣的:

function checkBoxes(obj) { 
    return inspectFall == 1 ? 
    $.extend(obj,{ "checked" : "checked" }): 
    obj; 
} 

,或者如果你需要的inspectFall變量作爲參數傳遞只需將其添加到函數調用是這樣的:

.append($('<td>').addClass('smallBox').append ($('<input>', checkBoxes({'class': 'centerText', 'name': 'inspectFall', 'type': 'checkbox'}, inspectFall)))) 

和你的函數:

function checkBoxes(obj, inspectFall) { 
    return inspectFall == 1 ? 
    $.extend(obj,{ "checked" : "checked" }): 
    obj; 
} 
+1

偉大的答案。謝謝 –

+0

不客氣,如果這回答你的問題,你會介意將其標記爲接受? –