-1

以下のコードを実行すると、挿入の値がまだ null を返す jQuery に問題があります。私は Salesforce の Exact Target を実行しており、HTML ドキュメントとスクリプト ドキュメントも持っています。これには、以下のコード スニペットも含まれています。

var value = "Subscriptions are: "; var insert = null;

for (var i = 0; i < 10; i++) {
    $("#lol").click(function() {
        if($(this).prop("checked") == true) {
            insert = "LOL";
            return insert;
        }
    })
};
value = value + insert;

この例では、正確なターゲットで受信したデータから、「サブスクリプションは: null」と表示されます。チェックボックスがオンになり、何も表示されません。スコーピングの問題である可能性があると思いますか?

アップデート:

$("#lol").click(function() {
        if($(this).prop("checked") == true) {
            console.log("lol");
            insert = "LOL";
        }
    });

同じエラーが発生します

4

2 に答える 2

0
$("#lol").on('click', function() {
    if ($(this).prop("checked") == true) {
        insert = "LOL";
    }
    value += insert;

    alert(insert); // Use `insert` here
});
  1. IDする必要がありますUNIQUE
  2. forイベントをバインドする必要はありません
  3. eventハンドラーから戻ることはできません
  4. ハンドラinsert内で使用event
于 2015-06-01T05:31:29.450 に答える
0

もちろんnullですので、ノードclickをクリックすると の関数が呼び出され、クリックし$('#lol')ないと実行されません。

ボタンをクリックするとコードの実行速度が速すぎるため、常にボタンをvalue = value + insert;クリックする前に最初に実行されます。$('#lol')

于 2015-06-01T05:32:22.757 に答える