Javascript - 附加到文本区域值 - IE Chrome和Firefox

时间:2012-05-12 05:33:38

标签: javascript

我如何完成这项工作。我试图将文本附加到文本区域。如果某个值已经存在,则追加。我有它的工作,但似乎它不能在所有浏览器中工作。有一个更好的方法吗?

尝试了两种方式,它们无法在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]);

1 个答案:

答案 0 :(得分:2)

jQuery对象没有.value属性,因此$('#log').value始终为undefined。这意味着您的语句将始终调用$('#log').val("First: " + result[0]);,而不会调用第二个语句。

您需要检查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
    });
}
相关问题