我如何完成这项工作。我试图将文本附加到文本区域。如果某个值已经存在,则追加。我有它的工作,但似乎它不能在所有浏览器中工作。有一个更好的方法吗?
尝试了两种方式,它们无法在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]);
答案 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
});
}