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)​;

dataすでに配列の場合:

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

どちらもこれを出力します:

45054, 55905, 42306
于 2012-07-08T12:27:31.693 に答える