Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 修改接收到的JSON并回发更新_Javascript_Jquery_Jquery Mobile - Fatal编程技术网

Javascript 修改接收到的JSON并回发更新

Javascript 修改接收到的JSON并回发更新,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,寻找一个起点。我正在获取JQM页面的数据(通过json)。我需要能够编辑任何返回的结果字段,并通过.post json更新数据库 我的想法是迭代json数组,进行更改并将json数组发回,我是否应该在初始加载中填充文本框,然后创建单独的数组 $.getJSON('JSON_MDB.php', function (data) { // data is now JSON object instantiated from retrieved info $.e

寻找一个起点。我正在获取JQM页面的数据(通过json)。我需要能够编辑任何返回的结果字段,并通过.post json更新数据库

我的想法是迭代json数组,进行更改并将json数组发回,我是否应该在初始加载中填充文本框,然后创建单独的数组

$.getJSON('JSON_MDB.php',
    function (data) {  
        // data is now JSON object instantiated from retrieved info
        $.each( data, function ( i, val ) {

            ($('<div>')
            .attr({
                'data-role': 'collapsible',
                'data-content-theme': 'c',
                'data-collapsed': 'true',
                'id': 'cResults'
            })
            .html('<h4>' + this.lastName + ', ' + this.firstName + '</h4><ul data-role="listview" data-filter="true" data-filter-placeholder="Search Choices..." data-inset="true" id="makecollapsibleul"><li>' 
            + 'FDID: ' + this.FDID + '</li><li>'
            + 'Choice 1: ' + this.C1 + '</li><li>' 
            + 'Choice 2: ' + this.C2 + '</li><li>' 
            + 'Choice 3: ' + this.C3 + '</li><li>' 
            + 'Choice 4: ' + this.C4 + '</li><li>' 
            + 'Choice 5: ' + this.C5 + '</li><li>' 
            + 'Choice 6: ' + this.C6 + '</li><li>' 
            + 'IP: ' + this.IPADDRESS + '</li><li>' 
            + 'Pick Date: ' + this.PICKDATE + '</li></ul>'
            ))
            .appendTo('#primary');

            $('#makecollapsible').collapsibleset().trigger('create');
            $.mobile.hidePageLoadingMsg();

        });
    }
); 
$.getJSON('JSON_MDB.php',
函数(数据){
//数据现在是从检索到的信息实例化的JSON对象
$。每个(数据、函数(i、val){
($('')
艾特先生({
“数据角色”:“可折叠”,
“数据内容主题”:“c”,
“数据已折叠”:“true”,
“id”:“cResults”
})
.html(“”+this.lastName+’,“+this.firstName+”
  • ' +'FDID:'+this.FDID+'
  • ' +'选项1:'+this.C1+'
  • ' +'选项2:'+this.C2+'
  • ' +'选项3:'+this.C3+'
  • ' +'选项4:'+this.C4+'
  • ' +'选项5:'+this.C5+'
  • ' +'选项6:'+this.C6+'
  • ' +“IP:”+this.IPADDRESS+”
  • ' +“选择日期:”+this.PICKDATE+”
' )) .appendTo(“#primary”); $('#makecollapsable').collapsableset().trigger('create'); $.mobile.hidePageLoadingMsg(); }); } );
HTML:


MCFRSIT JSON数据
  • 提交的选择

在“良好编程”注释中,您可以使用单个
var
语句对var声明进行分组,然后使用
而不是
以分离变量。另外,不要创建choice1、choice2等。创建数组或结构化对象要干净得多。很抱歉,这是一个非常新的问题:您可以提供示例吗?您的代码中实际上已经有了它:
这个
对象是一个结构良好的对象,您不需要将其解压缩到一百万个单独的变量,只需执行
'Choice 1:'+this.C1+'
  • '
  • 等操作。谢谢,很抱歉,我在当前代码中有这个选项,我在这个示例代码中忽略了它。。。无论如何对我最初的问题有什么想法吗?从你的描述来看,你想要的东西听起来与你对数据的可视化无关,所以我不确定这是不是一个非常有用的问题(主要是征求对这件事的意见)。我想说的是,让您的更新UI独立,使用一个函数
    updateHTML(obj)
    ,您可以随时调用它来更新HTML。这样,您就可以在什么时候调用它,并简单地测试各种可能有意义的地方,以找到最佳的用户体验。
    <div data-role="page" id="main">      
        <div data-role="header">         
            <h1>MCFRSIT JSON DATA</h1>     
        </div><!-- /header -->      
    
        <div data-role="content">
            <ul data-role="listview" id="outer-ul">
                <li>  
                    <div data-role="collapsible">
                        <h4>Submitted Choices</h4> 
                        <ul data-role="listview" data-inset="true" data-filter="true" id="makecollapsible">
                            <!-- AJAX CONTENT -->
                        </ul>
                    </div>
                </li>
            </ul>           
        </div><!-- /content -->      
    
        <div data-role="footer">              
        </div>
    
    </div><!-- /page -->