Jquery 如何使用Ajax动态填充CakePHP中的输入文本字段?
我有一个“添加人”表单,其中有几个字段(姓名、地址、电话号码等) 在提交表单之前,我希望能够使用其他字段的信息预先填充一些字段。例如,一旦用户输入一个城市,Ajax查询将提取电话号码的区号(控制器有一个“城市到区号”数据库),并将其放入电话号码字段,希望它能节省一些输入 我尝试过使用Jquery 如何使用Ajax动态填充CakePHP中的输入文本字段?,jquery,ajax,cakephp,jquery-events,Jquery,Ajax,Cakephp,Jquery Events,我有一个“添加人”表单,其中有几个字段(姓名、地址、电话号码等) 在提交表单之前,我希望能够使用其他字段的信息预先填充一些字段。例如,一旦用户输入一个城市,Ajax查询将提取电话号码的区号(控制器有一个“城市到区号”数据库),并将其放入电话号码字段,希望它能节省一些输入 我尝试过使用observeField,但它似乎只能更改元素的innerHTML,而不能更改输入字段的值 有关于如何操作的建议吗?如果要更改文本输入的值,则可以使用 因此,在ajax成功的过程中,您将有一个回调: success:
observeField
,但它似乎只能更改元素的innerHTML,而不能更改输入字段的值
有关于如何操作的建议吗?如果要更改文本输入的值,则可以使用 因此,在ajax成功的过程中,您将有一个回调:
success: function(data){
$('#foo').val(data);
}
假设您有两种形式:
<form id="formOriginal">
<input type="text" name="name"/>
<input type="text" name="address"/>
<input type="text" name="city"/>
<input type="text" name="state"/>
</form>
<form id="formCopy">
<input type="text" name="name"/>
<input type="text" name="address"/>
<input type="text" name="city"/>
<input type="text" name="state"/>
</form>
对于像洛杉矶或休斯顿这样有3+区号的大城市,你会怎么办?我建议使用下拉列表,但它不是用户可编辑的,我可能有一个我在纽约时得到的电话号码,但现在(由于手机计划),我住在芝加哥。我知道这不是你的问题,只是提醒一下。
$('#formOriginal input').each(function(e) {
var name = e.attr('name');
var $copy = $('#formCopy input[@name=' + name + ']');
if ($copy) {
$copy.val($(e).val());
}
});