javascript - 将文本字段更新为 JSON 字符串 - Javascript/JQuery

标签 javascript jquery json

<分区>

我有一个动态表单,其中包含在需要更新时更改为输入框的文本字段。

当它们被更新并且用户点击提交时,我想将更新后的值添加到我可以发布到 ASP.NET 脚本的 json 字符串中。

这是表格中 2 行的 html:

<tr id="1">
<td onclick="">Colleague 1:</td>
<td id="c1nametxt" onclick="">
    <input id="c1nametb" type="text" value="Bob">
</td>
<td id="c1unametxt" onclick="">
    <input id="c1unametb" type="text" value="bjones">
</td>
<td id="c1eaddtxt" onclick="">
    <input id="c1eaddtb" type="text" value="bjones@company.co.uk">
</td>
<td id="c1pnotxt" onclick="">
    <input id="c1pnotb" type="text" value="0111122224">
</td>
<td id="c1exttxt" onclick="">
    <input id="c1exttb" type="text" value="22224">
    <span onclick="delrec(this)">Del</span>
</td>

<tr id="2">
     <td onclick="">Colleague 2:</td>
<td id="c2nametxt" onclick="">
    <input id="c2nametb" type="text" value="John">
</td>
<td id="c2unametxt" onclick="">
    <input id="c2unametb" type="text" value="jhill">
</td>
<td id="c2eaddtxt" onclick="">
    <input id="c2eaddtb" type="text" value="jhill@company.co.uk">
</td>
<td id="c2pnotxt" onclick="">
    <input id="c2pnotb" type="text" value="0111122225">
</td>
<td id="c2exttxt" onclick="">
    <input id="c2exttb" type="text" value="22225">
    <span onclick="delrec(this)">Del</span>
</td>

这是我用来检测哪些输入框已更新的 jQuery:

$("#subdetails").click(function () {
    $("#mantab input[type=text]").each(function () {
        if ($(this).val() !== this.defaultValue) {               

             //code to create json string   

        }
    });
 });

这是一个 json 字符串的示例,如果更新了以下字段,我想创建:

{
"1":{
    "c1nametb": "newname",
    "c1exttb": "22227",
    }
"2":{
    "c2eaddtb": "neweadd@company.co.uk",
    "c2pnotb": "0111122210",
    }
}

任何人都可以帮我编写代码来创建这个字符串,或者建议更好的方法吗?

谢谢 瑞安

最佳答案

这是解决方案,遍历每一行,找到文本框的值并将其推送到数组,最后将其转换为字符串。您可以在隐藏字段中设置该字符串以将其传递到服务器端。

var ArrColleague = [];

$("#subdetails").click(function () {
    $("#mantab tr").each(function (index, val) {
        ArrColleague.push({
            "c1nametb": $(val).find("#c" + $(val).attr("id") + "nametb").val(),
            "c1unametb": $(val).find("#c" + $(val).attr("id") + "unametb").val(),
            "c1eaddtb": $(val).find("#c" + $(val).attr("id") + "eaddtb").val(),
            "c1pnotb": $(val).find("#c" + $(val).attr("id") + "pnotb").val(),
            "c1exttb": $(val).find("#c" + $(val).attr("id") + "exttb").val()
        });
    });
});

var JsonString = JSON.stringify(ArrColleague);

关于javascript - 将文本字段更新为 JSON 字符串 - Javascript/JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23477294/

相关文章:

json - Perl中的JSON格式

javascript - Jquery在表内搜索

javascript - iOS 上的 Devicemotion 事件

javascript - 停止 Gulp 删除未使用的 Javascript 函数

javascript - jQuery UI Tabs 可以加载新的完整 HTML 页面吗?

javascript - 如何通过$http从AngularJs(前端)读取json数据到Grails(服务器端)

javascript - 如何使用 Javascript 在选中单选按钮时取消选中复选框以及在选中复选框时取消选中单选按钮

jquery - iframe内容改变事件?

javascript - js 不工作时返回 false

javascript - 在 AngularJS 中使用 Wcf 数据服务