如何在表格中获取Bootstrap TouchSpin元素的值?我现在一无所获,因为我不相信它正在寻找元素。
创建touchspin并插入表格
var table = document.getElementById("createOrderTable");
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
row.id = 'row' + rowCount;
// TouchSpin element
var cell1 = row.insertCell(1);
var touchSpinID = 'touchspin' + rowCount;
cell1.innerHTML = "<input id='" + touchSpinID +"' type='text' value='1' name='" + touchSpinID +"'>";
cell1.id = 'cell' + touchSpinID;
//Init TouchSpin
$("input[name='" + touchSpinID +"']").TouchSpin({
verticalbuttons: true,
min: 0,
max: 100000000,
});
通过表格迭代并获取Touchspin的值,下面的方法都不起作用。
var table = document.getElementById("createOrderTable");
var rowCount = table.rows.length;
var productArray = [];
for(i = 1; i < table.rows.length; i++){
var touchspinID = 'touchspin' + i;
var touchspinValue = 0;
cellID = 'cell' + touchspinID;
$(cellID).find(touchspinID).each(function(){
touchspinValue = this.val();
console.log(touchspinValue);
});
$("#createOrderTable tr").each(function () {
$('td', this).each(function () {
var value = $(this).find(touchspinID).val();
console.log(value);
})
})
}
答案 0 :(得分:1)
查看您的代码,我认为问题在于touchspinID
和cellID
,因为他们都错过了&#39;#&#39;表示您正在查找具有特定id
s。
改变这两行:
var touchspinID = 'touchspin' + i;
cellID = 'cell' + touchspinID;
为:
var touchspinID = '#touchspin' + i;
cellID = '#cell' + touchspinID;
应该解决您的问题。此外,在致电.each
后,您不需要使用.find
,因为该小区只会有一个&#34; touchspin&#34;元素和id
必须始终是唯一的:
var touchspinValue = $(cellID).find(touchspinID).val();
console.log(touchspinValue);
如果上述问题无法解决您的问题,请在您的问题中加入表格html。