我有一個包含<input ...
字段的jQuery DataTables表。根據用戶在同一頁面上的輸入,我需要對<input ...
的屬性進行一些更改。該字段有一個id屬性,但在需要進行此屬性更改時未知。jQuery - 如何使用HTML字符串作爲控制元素
使用DataTables API我找到了包含輸入字段的行索引。我也知道柱等我能夠找回這樣的輸入域:
var inputfield = $('#oTable').DataTable().cell(row, column).data();
這導致inputfield
包含字符串:
<input value="0" id="someid" color="red" size="large" type="text">
我想用jQuery來訪問屬性這種控制是這樣的:
inputfield.attr("color", "black");
但是這不起作用。有沒有服用的HTML字符串,並使用它,就好像它是這樣的訪問控制字段一個簡單的方法:
var inputfield = $('#someid');
inputfield.attr("color", "black");
難道還有比解析視爲純字符串,這樣做其他更簡單的方法?
EDIT
如上所述,我使用jQuery數據表並執行用於含有的紅色值的顏色屬性的所有表中的行的檢索:
var color = "red";
rows = dpTable.fnFindCellRowIndexes('color="' + color + '"');
行是包含數組包含color="red"
的行的索引和這個工作。返回值的示例爲rows = [2, 5, 12]
現在我想更改每行單元格中<input ...
字段的幾個屬性。所以我這樣做:
$.each(rows, function (index, value) {
var inputfield = $('#oTable').DataTable().cell(value, 1).data();
var newHtml = $(inputfield);
newHtml.attr("color", "TEST");
alert($(newHtml).attr("color"));
});
以上alert()
返回TEST
根據需要,但在數據表控制字段沒有更新。所以我需要將newHtml
轉換回字符串,使用DataTables API替換單元格內容,然後使用DataTables .draw()函數更新表格。
然後我會如何將newHTML切換回字符串?我正在使用DataTables,屬性沒有改變。我必須將字符串放回到表格單元格中併發出一個draw()。 – rwkiii 2014-10-12 13:28:30
是否要更改顏色屬性?什麼是draw()?你在問如何訪問屬性,這是一種方法。請更具體的你想要做什麼 – 2014-10-12 13:35:44
我正在改變jQuery DataTables中單元格的值。 inputfield的值是一個字符串,因爲DataTables通過搜索API返回它。我需要更改一些屬性,然後將其作爲字符串放回DataTables單元格中。我看到你的jsfiddle工作正常。我試圖理解爲什麼它不適合我。我嘗試在DataTables上發出draw()函數,但是這並沒有解決它。我相信你的代碼是正確的。 – rwkiii 2014-10-12 13:44:04