如何从Phone-Gap中的新HTML获取ID以编辑索引数据库的数据

问题描述

我有一个页面,显示了indexedDB的列表,然后我想在此页面上对其进行编辑,但我无法获得连接数据的ID,请帮帮我! index.html

<div id="two">
     <form>
         <input id="filterTable-input" data-type="search">
     </form>
     <table data-role="table" data-filter="true" data-input="#filterTable-input" class="ui-responsive">
         <thead>
             <tr>
                <th>Name</th>
                <th>Type</th>
                <th>Date/Time</th>
                <th>Average meal</th>
                <th>Service</th>
                <th>Cleanliness</th>
                <th>Food quality</th>
                <th>Average Rating</th>
                <th>Reporter</th>
                <th>Note</th>
                <th>Action</th>
              </tr>
          </thead>
          <tbody id="ratingContent" class="ratingContent">

          </tbody>
     </table>
</div>

index.js 加载数据功能

function refreshTable() {
    var objectStore = db.transaction("rating").objectStore("rating");  
    objectStore.openCursor().onsuccess = function(event) {
       var cursor = event.target.result;      
       if (cursor) {        
          var name = cursor.value.name;
          var type = cursor.value.type;
          var date = cursor.value.date;
          var average = cursor.value.average;
          var service = cursor.value.service;
          var cleanliness = cursor.value.cleanliness;
          var food = cursor.value.food;
          var reporter = cursor.value.reporter;
          var keyPath = cursor.value.id;
          var note = cursor.value.note;
          var rating = cursor.value.ratingAverage;
          var markup = "<tr id='report_"+keyPath+"'><td data-field='name' data-id='"+keyPath+"'><span class='current ratingFeild' contenteditable>" 
            + name + "</span></td><td data-field='type' data-id='"+keyPath+"'><span class='current ratingFeild' contenteditable>" 
            + type + "</span></td><td data-field='date' data-id='"+keyPath+"'><span class='current ratingFeild' contenteditable>" 
            + date + "</span></td><td data-field='average' data-id='"+keyPath+"'><span class='current ratingFeild' contenteditable>" 
            + average  + "</span></td><td data-field='service' data-id='"+keyPath+"'><span class='current ratingFeild' contenteditable>" 
            + service + "</span></td><td data-field='cleanliness' data-id='"+keyPath+"'><span class='current ratingFeild' contenteditable>"
            + cleanliness +"</span></td><td data-field='food' data-id='"+keyPath+"'><span class='current ratingFeild' contenteditable>" 
            + food +"</span></td><td data-field='reporter' data-id='"+keyPath+"'><span class='current ratingFeild' contenteditable>"
            + rating +"</span></td><td data-field='reporter' data-id='"+keyPath+"'><span class='current ratingFeild' contenteditable>"
            + reporter +"</span></td><td data-field='note' data-id='"+keyPath+"'><span class='current ratingFeild' contenteditable>" 
            + note+ "</span></td><td><input type='button' name='record' id='record' value='Delete' onclick='deleteData("+ keyPath +")'></td></tr>";
          $("table tbody").append(markup);
          cursor.continue();//go to next record
       } 
    };
}

编辑数据功能 console.log('hhhh'+键)已定义。也许是这样,它有错误:js:200 Uncaught DOMException:无法在“ IDBObjectStore”上执行“ get”:没有指定键或键范围。

$('#ratingContent').on('blur','.ratingFeild',function(){
    var newData = $(this).html();
    var field = $(this).data('field');
    var key = $(this).data('id');
    console.log('hhhh'+ key);
    var transaction = db.transaction(['rating'],"readwrite");
    var store = transaction.objectStore("rating");
    var request= store.get(key);  
    request.onsuccess = function() {
        var data = request.result;
        console.log(data)
        if(field == 'name') {
            data.name = newData;
        } else if(field == 'type'){
            data.type = newData;
        }else if(field == 'date'){
            data.date = newData;
        }else if(field == 'average'){
            data.average = newData;
        }else if(field == 'service'){
            data.service = newData;
        }else if(field == 'cleanliness'){
            data.cleanliness = newData;
        }else if(field == 'food'){
            data.food = newData;
        }else if(field == 'reporter'){
            data.reporter = newData;
        }else if(field == 'note'){
            data.note = newData;
        }

        var requestUpdate = store.put(data);

        requestUpdate.onsuccess = function() {
            alert('Update successfull!');
        }
        requestUpdate.error = function() {
            alert('Error!');
        }
    }
})

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...