Jquery 对每个字段执行x-editable+选择get data onload/update

Jquery 对每个字段执行x-editable+选择get data onload/update,jquery,jquery-select2,x-editable,Jquery,Jquery Select2,X Editable,很长一段时间以来,我一直在尝试制作一个x-可编辑的数据表。我想编辑所有字段,示例仅针对编辑字段显示: x1 x2 x3 而不是另一个 下面是JSFIDLE示例 我还想知道如何设置select以获取数据,然后如何首先更新它们可能是一个onload函数?如果我是对的,第二个是ajax update.php。但除此之外,我在data.php文件中出现错误,而我不想更新bywho字段。真的很感谢你调查这件烦人的案子。期待未来的提示 data.php data.php的调试:由谁更改输入 用于选择编辑临

很长一段时间以来,我一直在尝试制作一个x-可编辑的数据表。我想编辑所有字段,示例仅针对编辑字段显示:

x1
x2
x3
而不是另一个

下面是JSFIDLE示例

我还想知道如何设置select以获取数据,然后如何首先更新它们可能是一个onload函数?如果我是对的,第二个是ajax update.php。但除此之外,我在data.php文件中出现错误,而我不想更新bywho字段。真的很感谢你调查这件烦人的案子。期待未来的提示

data.php

data.php的调试:由谁更改输入

用于选择编辑临时设置的Json


我不确定我是否完全理解了你的问题

我相信在第一部分中,您是说希望表中的所有字段都是可编辑的

假设是这样的话,您的选择器似乎有一些问题。选择器td.edit a使用类edit选择元素下的所有元素。这一列实际上同时选择了bywho列和proraty列。它没有选择消息列中的元素,因为那里没有锚定标记

选择器“.td.edit a[id=prority]”实际上没有选择任何内容,因为存在错误。在运输署之前。这个意思是阶级。因此,它试图查找具有类td和类edit的元素,而文档中没有此类元素。如果您删除了。它将在proraty列中选择锚定标记,但上面的选择器已经选择了锚定标记

如果希望表中的所有元素都可编辑,则可以执行以下操作: $'td.edit'.children.edit{ 键入:“文本”, url:'data.php', ajaxOptions:{ 类型:'put' } };

请注意,这要求每个元素中都有一个元素,而不仅仅是文本。因此,您需要将超级用户包装在一个标记中

另外,关于您在php中看到的错误。我认为这个错误意味着您使用的变量没有定义。我认为你应该用$邮政代替。i、 e.$pk=$_POST['pk']

无论如何,你似乎走对了方向

//delay (for debug only)
sleep(1); 
require_once("../checklogin.php");
require_once("../lib/functions.php");
require_once("../lib/Db.class.php");

// Creates the instance  || preg_match('/^(?=.*\d)(?=.*[A-Za-z])[0-9A-Za-z!@#$%]{8,12}$/', $_POST['password'])
$db = new Db();
$user = new users();
$error = array();

/*
You will get 'pk', 'name' and 'value' in $_POST array.
*/
$pk = $_REQUIRE['pk'];
$name = $_REQUIRE['name'];
$value = $_REQUIRE['value'];
/*
 Check submitted value
*/
if(!empty($value)) {
    /*
      If value is correct you process it (for example, save to db).
      In case of success your script should not return anything, standard HTTP response '200 OK' is enough.

      for example:
      $result = mysql_query('update users set '.mysql_escape_string($name).'="'.mysql_escape_string($value).'" where user_id = "'.mysql_escape_string($pk).'"');
    */
    $update = $db->query("UPDATE tbl_ticket SET ".$name." = :fvalue WHERE id = :id", array(
        "fvalue" => $value,
        "id" => $pk
    ));
    //here, for debug reason we just return dump of $_POST, you will see result in browser console
    echo "ok";
} else {
    /* 
    In case of incorrect value or error you should return HTTP status != 200. 
    Response body will be shown as error message in editable form.
    */

    header('HTTP 400 Bad Request', true, 400);

}
<br />
<b>Notice</b>: Undefined variable: _REQUIRE in <b>C:\xampp\htdocs\platform\admin\data.php</b> on line <b>20</b><br />
<br />
<b>Notice</b>: Undefined variable: _REQUIRE in <b>C:\xampp\htdocs\platform\admin\data.php</b> on line <b>21</b><br />
<br />
<b>Notice</b>: Undefined variable: _REQUIRE in <b>C:\xampp\htdocs\platform\admin\data.php</b> on line <b>22</b><br />
function drawticket()
    {
        global $db;
        $drawUserstb = $db->query("SELECT * FROM tbl_ticket");

        foreach ($drawUserstb as &$rows) {
            echo '<tr>  
                    <td>'.$rows['id'].'</td>  
                    <td class="edit bywho '.$rows['id'].'"><a href="#" id="bywho" data-type="text" data-title="Bywho Id" data-pk= "'.$rows['id'].'" data-value="'.$rows['bywho'].'">'.$rows['bywho'].'</a></td>  
                    <td class="edit message '.$rows['id'].'">'.$rows['message'].'</td>  
                    <td class="edit prority '.$rows['id'].'">
                    <a href="#" id="prority" data-title="Prority" data-type="select" data-pk= "'.$rows['id'].'" data-value="'.$rows['prority'].'" data-param="XXX">'.$rows['prority'].'</a>
                    </td>  
            </tr>';
        }
    }
$(document).ready(function () {

    $('td.edit a').editable({
        type: 'text',
        url: 'data.php',      
        ajaxOptions: {
            type: 'put'
        }        
    });
    $('.td.e

dit a[id=prority]').editable({
     loadurl : 'include/json.php',
     submit : 'OK'
});

//ajax emulation
$.mockjax({
    url: '/post',
    responseTime: 200,
    response: function(settings) {
        console.log(settings);
    }
}); 

});
<?PHP
header('Content-Type: application/json');
    require_once("../../../checklogin.php");
    require_once("../../../lib/functions.php");
    require_once("../../../lib/Db.class.php");

    $db = new Db();
    $user = new users();
    $error = array();
 $array['1'] =  'No prority'; 
 $array['2'] =  'Important'; 
 $array['0'] =  'V important'; 
 $array['selected'] =  '1';
 print json_encode($array);

 ?>