0
$('#groupnamesearch').blur(function () {
    str = $('#groupnamesearch').val()
    $.get("injectgroup.php", {
        name: str
    }, function (data) {
        //here i guess str.replace data
        $('#aspecforgroup').val(data);
    });
});

这给了我这样的结果: ["45054","55905","42306"]

我想去掉它们的所有 []",所以我只有数字和 , 字符。

如何在将通过 ajax 请求的数据填充到输入字段之前对其进行操作?

谢谢 :)

4

3 回答 3

1

您可以使用数组连接来做到这一点

如果您的数据是字符串,则必须首先解析字符串以转换数组,然后像这样进行连接 -

var newData = JSON.parse(data).join();
于 2012-07-08T12:12:58.163 回答
1

如果您返回的结果data是一个实际的字符串 - 我假设方括号必须显示在“aspecforgroup”字段中 - 那么您可以删除这些字符,如下所示:

data = data.replace(/[\[\]"]/g, "");

或者您可以告诉 jQuery(即您正在使用的 jQuery 吗?)将响应视为 JSON,在这种情况下,它应该在它最终出现在data参数中时自动解析为数组,然后您可以使用数组.join()方法把它变成一个字符串:

$.get("injectgroup.php", {
    name: str
}, function (data) {
    $('#aspecforgroup').val(data.join(","));
}, "json");

参数 to.join()是连接各个元素的字符串。如果您将其省略,默认情况下它将是逗号,但您可能希望使用逗号加空格:.join(", ")

于 2012-07-08T12:23:42.913 回答
0

如果data是一个字符串:

data = '["45054","55905","42306"]';
var output​ = JSON.parse(data).join(', ');
​alert(output)​;

ifdata已经是一个数组:

data = ["45054","55905","42306"];
var output = data.join(', ');
alert(output);

两者都输出:

45054, 55905, 42306
于 2012-07-08T12:27:31.693 回答