Jquery序列化为动态文本框获取相同的值

时间:2015-07-28 10:16:01

标签: jquery html-table

我使用以下代码创建带有复选框的动态文本框。

function addNewModifier()
    {
        $('#modifiersList tr:last').after('<tr><td></td><td><form id="insertModifier"><input name="modifierName" id="modifierName" class="focused form-control" type="text"></input></td><td align="center"><span class="glyphicon glyphicon-folder-open" style = "cursor:pointer"></span></td><td><input name="status" id="status" type="checkbox"></input></td><td align="center"><span class="btn btn-primary" onclick="saveNewModifier()"><i class="icon-white fa-plus-circle fa fa-align-left"></i>Save</span></td><td><span class="btn btn-default" onclick="deleteNewSuperCategory(this)"><i class="icon-white fa-plus-circle fa fa-align-left"></i>Cancel</span></td></form></tr>'); 
    }

通过使用上述功能,我在表格中添加新行,然后点击保存按钮我需要表格数据。

我的保存功能如下。

function saveNewModifier()
    {
        var groupName = $("#insertModifier").serialize();
        alert(groupName);
    }

上述saveNewModifier()函数仅提供文本框值,并且始终相同。

请帮助我如何在创建新行时获得复选框和文本框的值总是不同。

1 个答案:

答案 0 :(得分:1)

这是一个例子。这可能对你有帮助

function saveNewModifier()
    {
        var groupName = $("#insertModifier").serialize();
        var checkValue = $("#status").serialize();
        alert(groupName);
        alert(checkValue);
        
    }
function addNewModifier()
    {
        $('#modifiersList tr:last').after('<tr><td></td><td><form id="insertModifier"><input name="modifierName" id="modifierName" class="focused form-control" type="text"></input></td><td align="center"><span class="glyphicon glyphicon-folder-open" style = "cursor:pointer"></span></td><td><input name="status" id="status" type="checkbox"></input></td><td align="center"><span class="btn btn-primary" id="btnSave"><i class="icon-white fa-plus-circle fa fa-align-left"></i>Save</span></td><td><span class="btn btn-default" onclick="deleteNewSuperCategory(this)"><i class="icon-white fa-plus-circle fa fa-align-left"></i>Cancel</span></td></form></tr>'); 
        $(this).serialize();
    }


addNewModifier();

$(document).ready(function(){
    $("#btnSave").on('click', function() {
       saveNewModifier();
    });
})    
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<table id="modifiersList">
    <tr><td>Dummy Data</td></tr>
</table>

以下是您问题的确切解决方案 click here

function saveNewModifier()
    {
        var groupName = $("#insertModifier").serialize();
        var checkValue = $("#status").serialize();
        alert(groupName);
        alert(checkValue);

    };

function addNewModifier()
    {
$('#modifiersList tr:last').after('<tr><td></td><td><form id="insertModifier"><input name="modifierName" id="modifierName" class="focused form-control" type="text"></input></td><td align="center"><span class="glyphicon glyphicon-folder-open" style = "cursor:pointer"></span></td><td><input name="status" id="status" type="checkbox"></input></td><td align="center"><span class="btn btn-primary" id="btnSave"><i class="icon-white fa-plus-circle fa fa-align-left"></i>Save</span></td><td><span class="btn btn-default" onclick="deleteNewSuperCategory(this)"><i class="icon-white fa-plus-circle fa fa-align-left"></i>Cancel</span></td></form></tr>'); 
    };



$(document).ready(function(){
    $("body").on('click', '#btnSave', function() {
       saveNewModifier();
    });
});
<table id="modifiersList">
    <tr><td onclick="addNewModifier();">add new html</td></tr>
</table>