【问题标题】:Remove Quotes from json_encoded string value从 json 编码的字符串值中删除引号
【发布时间】:2023-04-08 23:53:01
【问题描述】:

我正在开发一个将jTable 实现到 PHP 框架类中的项目。 进展顺利。现在我遇到了一个问题,我希望能够在编辑对话框上进行自定义输入字段。

我们已经在使用select2 插件,现在我想在jTable 的编辑对话框中实现它。据我了解,可以像这样向编辑对话框添加自定义字段:

Name: {
    title: 'Name',
    width: '20%',
    input: function (data) {
        if (data.record) {
            return '<input type="text" name="Name" style="width:200px" value="' + data.record.Name + '" />';
        } else {
            return '<input type="text" name="Name" style="width:200px" value="enter your name here" />';
        }
    }
}

请注意,上面的代码是用 JavaScript 编写的。 基本上我所做的是在 php 数组中构建这个 javascript,并通过 json_encode 将它发送给客户端。

我的问题是当我这样做时

$column_array['name']['input'] = function (data) {if ....and so on}

我在 javascript 方面

input: "function (data) {... so on"

请注意双引号,它是一个字符串,不再是一个函数了。

我需要在输入后删除这 2 个双引号。 (这是我目前的想法)

或者如果有人对 jTable 有一定的经验] 并且知道更好的方法来实现自定义字段,例如 select2、choice、jQuery 多选、elfinder 和类似的东西。

如果需要的话我明天可以给一些代码,因为我今天不上班了。

【问题讨论】:

  • json 用于数据,而不是函数。不是这样的
  • (J)ava(S)cript (O)bject (N)otation。不是(J)(S)(F)函数(N)
  • 这可能对你有帮助:stackoverflow.com/questions/2573548/…
  • 我想知道 javascript 端的 data.replace() 是否可以删除引号
  • 将使用 foreach 构建一个字符串并使用 eval。谢谢 Stefan Baiu,您可能想将此添加为答案,以便我接受。 :)

标签: javascript php json jquery-select2 jquery-jtable


【解决方案1】:

基于这个概念:

// Create a function that takes two arguments and returns the sum of those arguments
var fun = new Function("a", "b", "return a + b");
// Call the function
fun(2, 6);
Output: 8

您可以将您的 JSON 稍微更改为

Name: {
    title: 'Name',
    width: '20%',
    input: { name: "input",
             param: "data",
             body: "if (data.record) {
                   return '<input type=\".... "
            }
    ....

然后你可以定义一个函数并执行它

var d = new Function(Name.input.name, Name.input.param, Name.input.body);
d(otherdata);

这将省略糟糕的eval(...) 东西。警告:它仍然不是给定对象的方法。

【讨论】:

    猜你喜欢
    • 2012-02-08
    • 2015-04-27
    • 1970-01-01
    • 2015-07-19
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多