我正在使用knockout.js。我在表格中有幾個可編輯的網格,並且這些網格中的字段名稱很重要,所以使用uniqueName
不是一種選擇。如何讓函數在jQuery的.each()函數完成後返回true?
所以我在做的是調用一個函數來重命名字段,當用戶點擊提交。
function renameFields(o, index) {
var el_name = $(o).attr('name');
var name_index = el_name.lastIndexOf('_') + 1;
$(o).attr('name', el_name.substring(0, name_index) + index);
}
function Submit() {
self.submit = function() {
// Use unique AND meaningful input/textarea [name]s in .grids.
window.index_arr = [];
$('.grid').each(function() {
$(this)
.children('.row')
.each(function(i){
window.index_arr.push(i);
$(this)
.find('input, textarea')
.each(function() {
renameFields($(this), window.index_arr[i]);
})
})
});
// Submit the form
return true;
}
}
renameFields
工作正常,但它呼籲每個字段之前返回true
。
當用戶點擊提交時,它被**調用。 – curtisblackwell
@Nix @ColBeseder這不是一個錯字。我只是沒有包含顯示綁定的html,因爲我知道這不是問題所在。該函數正在被調用,它在完成字段重命名之前返回「true」。你讀過這篇文章嗎? – curtisblackwell
我知道這不是你的問題,但你有沒有想過綁定'name'屬性,所以KO讓它們保持最新? – johnnycardy