使用x-jquery-tmpl select问题

image.pngimage.png

要做个动态添加行的功能,用的 x-jquery-tmpl,问题是添加完一行后 再添加,之前添加行的材料名称都会变成默认的剪刀。不是我之前选的了,
代码:

var options = {
    data: data,
    pagination: false,
    showSearch: false,
    showRefresh: false,
    showToggle: false,
    showColumns: false,
    sidePagination: "client",
    columns: [{
        checkbox: true
    },
    {
        field: 'index',
        align: 'center',
        title: "序号",
        formatter: function (value, row, index) {
            var columnIndex = $.common.sprintf("<input type='hidden' name='index' value='%s'>", $.table.serialNumber(index));
            var columnId = $.common.sprintf("<input type='hidden' name='goods[%s].id' style='text-align: center' value='%s'>", index, row.id);
            return columnIndex + $.table.serialNumber(index) + columnId;
        }
    },
    {
        field: 'name',
        align: 'center',
        title: '材料名称',
        formatter: function (value, row, index) {
            var data = [{ index: index, type: value }];
            return $("#goodsTypeTpl").tmpl(data).html();
        }
    },
    {
        field: 'gongdi',
        align: 'center',
        title: '所属工地',
        formatter: function (value, row, index) {
            var html = $.common.sprintf("<input class='form-control' type='text' name='goods[%s].gongdi' style='text-align: center' value='%s'>", index, value);
            return html;
        }
    },
    {
        field: 'shuliang',
        align: 'center',
        title: '数量',
        formatter: function (value, row, index) {
            var html = $.common.sprintf("<input class='form-control' type='text' name='goods[%s].shuliang' style='text-align: center' value='%s'>", index, value);
            return html;
        }
    },
    {
        field: 'buhansuiprice',
        align: 'center',
        title: '不含税单价',
        formatter: function (value, row, index) {
            var html = $.common.sprintf("<input class='form-control' type='text' name='goods[%s].buhansuiprice' style='text-align: center' value='%s'>", index, value);
            return html;
        }
    },
    {
        field: 'hansuiprice',
        align: 'center',
        title: '含税单价',
        formatter: function (value, row, index) {
            var html = $.common.sprintf("<input class='form-control' type='text' name='goods[%s].buhansuiprice' style='text-align: center' value='%s'>", index, value);
            return html;
        }
    },
    {
        field: 'sui',
        align: 'center',
        title: '税率',
        formatter: function (value, row, index) {
            var html = $.common.sprintf("<input class='form-control' type='text' name='goods[%s].buhansuiprice' style='text-align: center' value='%s'>", index, value);
            return html;
        }
    },
    ]
};
$.table.init(options);
/* 主子表-提交 */
function submitHandler(index, layero) {
    var data = $("#form-add").serializeArray();
    alert(JSON.stringify(data))
    $.operate.saveModal("/system/pay/add", data);
}

function addColumn() {
    var row = {
        name: "",
        gongdi: "",
        shuliang: "",
        buhansuiprice: "",
    }
    sub.addColumn(row);
}
<script id="goodsTypeTpl" type="text/x-jquery-tmpl">
    <div>
        <select name='goods[${index}].name' class="form-control" >
            <option
                th:each="cooperationPlatformDO : ${wz}" th:selected="${cooperationPlatformDO.name eq name}"
                th:value="${cooperationPlatformDO.name}"
                th:text="${cooperationPlatformDO.name}">
            </option>
        </select>
    </div>
</script>
阅读 1.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题