0

エラーメッセージの配列があります: json.Errors

jQueryを使用してこの配列から次のものを作成できる方法はありますか?

    <ul class="message" id="message">
        <li>message1</li>
        <li>message2</li>
    </ul>

過去に、次のコードのようなことをしました。

$.map(json.Errors, function (error) {
   return error + '</br>';
}).join('');

それが役立つかどうかはわかりませんが、これに $.map を使用する方法を誰かが知っているかもしれません。

4

4 に答える 4

3

私はお勧めします:

$.each(json.Errors, function(i,e) {
    $('#message li').eq(i).text(e);
});

JS フィドルのデモ

liもちろん、これには要素とjson.Errors配列の間に 1:1 の関係が必要です。

要素を作成したい場合li(既に存在することに依存するのではなく)、次のことをお勧めします。

$.each(json.Errors, function(i, e) {
    $('<li />').text(e).appendTo('#message');
});​

JS フィドルのデモ

参考文献:

于 2012-09-20T12:17:17.263 に答える
1

配列だと言っているのなら、単純な結合を使用してみませんか?

$('#message').html('<li>' + json.Errors.join('</li><li>') + '</li>');
于 2012-09-20T12:16:53.950 に答える
1
var errUl = $('<ul class="message" id="message">' + $.map(json.Errors, function(error) {
    return '<li>' + error + '</li>';
}).join('') + '</ul>');

フィドル

これにより、順序付けられていないリストの解析済み HTML データを含む単一の jQuery オブジェクトが作成されますerrUl

参照http://api.jquery.com/jQuery.map/

于 2012-09-20T12:19:39.427 に答える
1

マップを使用したい場合は、以下のようなことができます

$("#message").empty().append($(json.Errors).map(function (msg){
  return $("<li>" + msg+ "</li>");
}));

または、それぞれを使用します

$("#message").empty().append($(json.Errors).each(function (){
  return $("<li>" + this+ "</li>");
}));
于 2012-09-20T12:19:52.310 に答える