0

クエリ結果を取得し、それらをループして、ページに出力する前にいくつかの調整を試みています。+=オペレーターをすべてのブラウザーで正しく動作させることができないようです。ただし、-=オペレーターは正常に動作しているようです。基本的に、+=連結しているだけです。

結果を強制的に数値にしようとしましたが、それもうまくいかないようです。

var str = '<h2>The Score</h2>'

    for (var i = 0; i < data.message.DATA.length; i++) {

    var theName = data.message.DATA[i][columnMap.ENTRYID]
        switch (theName)
        {
        case "jrd":
            newname = "Carmen";
            theNumber = data.message.DATA[i][columnMap.TOTALCOUNT] -= 110;
            if ($('#entryid').val() == "jrd"){
                $('#recordcount').text(theNumber);
            }
            break;
        case "ejf":
            newname = "Elijah";
            theNumber = Number(data.message.DATA[i][columnMap.TOTALCOUNT] += 50);
            if ($('#entryid').val() == "ejf"){
                $('#recordcount').text(theNumber);
            }
            break;
        }


        str += '<b>'+newname+'</b>'
        str += ' '+theNumber+'<br/>'
    }

    $("#score").html(str)
    }

これが私のColdFusionクエリから返されたデータです。私は$.ajax()CFCへの呼び出しを行うために使用しています... {"message":{"COLUMNS":["ENTRYID","TOTALCOUNT"],"DATA":[["ejf","62"],["gdd","52"],["jrd","215"],["kpf","70"]]},"error":false}

4

2 に答える 2

2

私はあなたが書くことを意味すると思います

Number(data.message.DATA[i][columnMap.TOTALCOUNT]) + 50;

あなたはまだ番号通話の中で連結しています。

于 2013-02-23T01:12:13.710 に答える
1

TOTALCOUNT他の答えは問題の半分を解決しますが、セットも必要なようです。この長い手で行うこともできますが、最小限の解決策を考えていると思いますので、オブジェクトを var として参照し、それを使用して作業し、+ワン-ライナーを維持してください。

/* for (;;) { */

var DATAi = data.message.DATA[i], // added new var `DATAi`
    theName = DATAi[columnMap.ENTRYID];
switch (theName) {
    case "jrd":
        newname = "Carmen";
        theNumber = DATAi[columnMap.TOTALCOUNT] = +DATAi[columnMap.TOTALCOUNT] - 110; // made this match
        if ($('#entryid').val() == "jrd") {
            $('#recordcount').text(theNumber);
        }
        break;
    case "ejf":
        newname = "Elijah";
        theNumber = DATAi[columnMap.TOTALCOUNT] = +DATAi[columnMap.TOTALCOUNT] + 50; // modified
    //  ...
于 2013-02-23T01:25:27.687 に答える