javascript - 通过javascript将数组打印到表中

标签 javascript html

目前,当您在“Special”标识的 4 个文本框中添加一些值时,它会以串联字符串的形式输出。我如何将其分解成一个表格,以便我可以很好地将其打印在表格中。

$add.click(function() {
    var elem = document.createElement("div");
    var dmenu = document.getElementById("days");
    var dmenuvalue = dmenu.options[dmenu.selectedIndex].text;
    var regex = /^\d+(?:\.\d{0,2})$/;
    if (dmenuvalue != "temp" && $name.val().indexOf("%") == -1 && ($origprice.val().indexOf("%") == -1 && regex.test($origprice.val())) && ($specprice.val().indexOf("%") == -1 && regex.test($specprice.val()))) {

        var name = dmenuvalue + "%" + $name.val() + "%" + $origprice.val() + "%" + $specprice.val();
        $(elem).text(name);

        var dailyDeal = [
            dmenuvalue,
            $name.val(),
            $origprice.val(),
            $specprice.val()
        ];
        dailyDeals.push(dailyDeal);

        for (i = 0; i < 4; i++) {
            $('<input type="hidden">').attr({
                'name': 'name[' + ctr + '][' + i + ']',
                'value': dailyDeal[i]
            }).appendTo(elem);
        }

        $('<a>').attr({
            'href': '#'
        }).text("X").click(function() {
            $(elem).remove();
            //ctr--; 
            return false;
        }).appendTo(elem);

        $list.append(elem);
        ctr++;

        document.getElementById("dailydeals").innerHTML = '';
        return false;
    } else {
        document.getElementById("dailydeals").innerHTML = '*Please complete all required fields above.';
        return false;
    }
});

代码如下: http://jsfiddle.net/protron/xGhnv/4/

最佳答案

JSFiddle 上的完整解决方案:

http://jsfiddle.net/protron/xGhnv/9/

基本上我所做的是:

  1. 在 HTML 中,我替换了 <div>list对于新的<table> :

    <table id="tableDailyDeals"></table>
    
  2. 在Javascript中而不是调用$(elem).text(...我在刚刚定义的表中创建一个新表行 ( <tr> ):

    var $tr = $('<tr>').appendTo('#tableDailyDeals');
    
  3. 然后除了添加 input-hidden对于每个 dailyDeal 属性(0 到 3),我还创建一个表格单元格 ( <td> ),并在其中创建一个新的 <span>数组中已有名为 dailyDeal 的文本(跨度是可选的,但由于我也将输入隐藏在同一个 td 中,我认为这种方式更好):

    var $td = $('<td>').appendTo($tr);
    $('<span>').text(dailyDeal[i]).appendTo($td);
    
  4. 然后只需为行删除器链接添加另一个表格单元格 ( <td> ):

    var $tdRemoveRow = $('<td>').appendTo($tr);
    

剩下的只是一些 CSS 样式和小细节。

关于javascript - 通过javascript将数组打印到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12867117/

相关文章:

javascript - Angular 2 : when does property binding happen?

javascript - 有渲染 2d 键盘的 JavaScript 库吗?

javascript - 为什么网址无法加载

javascript - 仅检测 mac 上的 firefox 用户

javascript - 在 HTML 中包含 JavaScript 文件将不能作为 &lt;script …/>

javascript - 试图将许多单选按钮显示为列 - 得到奇怪的输出

javascript - HTML5 中数字的自定义验证 CVC CVV

php - HTTP PUT 请求 - 进度条实现

javascript - 获取错误 IE 中网页访问被拒绝

javascript - 如何使用淡入淡出正确地在 DIV 之间切换?