如何在表内获得TouchSpin的价值

时间:2016-04-22 19:10:32

标签: javascript jquery twitter-bootstrap

如何在表格中获取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);
        })
    })
}

1 个答案:

答案 0 :(得分:1)

查看您的代码,我认为问题在于touchspinIDcellID,因为他们都错过了&#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。