4

<span></span>jQuery を使用してページの読み込み時に要素を設定しようとしています。

現時点では、スパンに入力される値は単なる整数カウントです。

ここで、スパンにuserCountという名前を付けました。

<a href="#" class="">Users<span id = "userCount"></span></a>

スパンの値を書き込もうとしていますが、成功しません。

$(document).ready(function () {
    $.post("Dashboard/UsersGet", {}, function (dataset) {
        var obj = jQuery.parseJSON(dataSet);
        var table = obj.Table;

        var countUsers;
        for (var i = 0, len = table.length; i < len; i++) {
            var array = table[i];
            if (array.Active == 1) {
                  var name = array.Name;
            }
            countUsers = i;
        }
        userCount.innerHTML = countUsers.toString();
    });
});
4

6 に答える 6

14

usercount変数がありません。html$(selector)などの関数を呼び出すことができる jquery オブジェクトを構築するために使用します。

 $('#userCount').html(countUsers);

また、

  • 整数を手動で文字列に変換する必要はありません。
  • ループから抜け出さないと、countUsers常に になりますtable.length-1
  • dataSetの代わりに: というタイプミスがありdatasetます。Javascript は大文字と小文字を区別します。
  • リクエストの結果を解析する必要はありません
  • 空のデータを渡す必要はありません:jQuery.post提供されたパラメータの型をチェックします

したがって、ループ内で他のことを行うと仮定すると、これはおそらく必要なものです。

    $.post("Dashboard/UsersGet", function (dataset) {
        var table = dataset.Table;
        var countUsers = table.length; // -1 ?
        // for now, the following loop is useless
        for (var i=0, i<table.length; i++) { // really no need to optimize away the table.length
            var array = table[i];
            if (array.Active == 1) { // I hope array isn't an array...
                var name = array.Name; // why ? This serves to nothing
            }
        }
        $('#userCount').html(countUsers);
    });
于 2012-11-01T08:23:39.187 に答える
4

使用してください.html()

<a href="#" class="">Users<span id = "userCount"></span></a>

に を割り当てたのでid、と 関数を使用して をspan簡単に設定できます。spanid.html()

$("#userCount").html(5000);

またはあなたの場合:

$("#userCount").html(countUsers.toString());
于 2012-11-01T08:23:46.083 に答える
1

それ以外の:

userCount.innerHTML = countUsers.toString();

使用する:

$('#userCount').html(countUsers.toString());
于 2012-11-01T08:27:02.743 に答える
1

変化する:

userCount.innerHTML = countUsers.toString();

に:

$("#userCount").html(countUsers.toString());
于 2012-11-01T08:24:25.253 に答える
0

コールバック引数は、 ?dataSetではなくdataset

于 2012-11-01T08:27:50.487 に答える
0

あなたが使用することができます

$('#userCount').text(countUsers);

スパンにデータを書き込む

于 2012-11-01T08:25:32.633 に答える