我正在开展一个项目,例如,当用户将数据输入到字段编号1时,网页上的字段编号3应使用数据库中的值进行更新。这已经正常工作,没有任何问题。
但是如果用户先修改字段编号3,稍后修改字段编号1,则只更新DOM(我可以从Firebug中看出),但是对于用户来说,字段编号3没有任何明显的变化。
我创建了这个问题的一个非常基本的版本,但我仍然不知道这里有什么问题。
HTML
<div id="container1">
<textarea id="container1.1">Entry 1.1</textarea>
<textarea id="container1.2">Entry 1.2</textarea>
<textarea id="container1.3">Entry 1.3</textarea>
</div>
的jQuery
$(document).ready(function() {
$('textarea').change(function() {
var clickedObject = $(this);
var id = $(this).attr('id').substr(9);
var value = $(this).val();
var dataString = "id=" + id + "&value=" + value;
$.ajax({
type: "POST",
url: "update.php",
data: dataString,
cache: false,
success: function(Result)
{
if(Result == '-')
{
console.log('Nothing to do');
} else {
clickedObject.next().next().html(Result);
}
}
});
});
});
PHP
<?php
if ($_POST['id'] == '1.1') {
echo 'Modified string';
} else {
echo '-';
}
?>
答案 0 :(得分:0)
您必须通过.val()方法设置textarea的值,而不是html()。
如果您只使用一个应该在更改时调用请求的textarea id,那么它可能会更具描述性。