3

どうすればこれを行うことができますか。テキスト領域にテキストを追加しようとしています。何らかの値がすでに存在する場合は、追加します。動作させましたが、すべてのブラウザで動作するわけではないようです。これを行うためのより良い方法はありますか?

両方の方法を試しましたが、Chrome、IE、FFでは機能しません-

if ($('#log').value == undefined) {
$('#log').val("First: " + result[0]);
} else {
$('#log').val($('#log').value += "Second: " + result[0]);
}

if ($('#log').value == undefined) {
$('#log').val("First: " + result[0]);
} else {
$('#log').val(log.value += "Second: " + result[0]);
}

がないIfと、これはChromeで機能しますが、IEとFFでは機能しません-

$('#log').val(log.value += "First: + result[0]);
4

1 に答える 1

2

jQueryオブジェクトには.valueプロパティがないため、$('#log').value常にになりますundefined。これは、ステートメントが常に呼び出し$('#log').val("First: " + result[0]);、2番目のステートメントを呼び出さないことを意味します。

if($('#log').val() == '')代わりに確認する必要があります。

について.val()は、関数を渡すことができます。この関数には、入力の現在の値が渡されます。

if ($('#log').val() == '') {
    $('#log').val("First: " + result[0]);
} else {
    $('#log').val(function(i, v){ // v is the current value
        return v + "Second: " + result[0];  // what's returned is what the value will be set to
    });
}
于 2012-05-12T05:49:50.250 に答える