目前我正在开发一个有1种注册形式的项目。在这种形式下,允许在1 go中添加多个成员。第一个成员是必需的,其他成员则不是。为了添加更多成员,我使用jQuery中的'append'来完美地添加第二个和第三个成员的表单。
现在,我想添加一段代码,当我填写邮政编码时,它会自动填写我的街道名称和城市。
我使用jquery和json为我填写一些表单字段。我用这段代码:
$('input[name=postcode_1]').change(function(){
//100420//
b_postcode = $('input[name=postcode_1]').val();
$.getJSON('/inc/getPostcodeInfo.php', {postcode:b_postcode}, function(data) {
$('input[name=adres_1]').val('');
$('input[name=plaats_1]').val('');
$.each(data, function(index, array) {
// alert(array['straat']);
$('input[name=adres_1]').val(array['straat']);
$('input[name=plaats_1]').val(array['woonplaats']);
})
});
});
这适用于1个成员但是当我添加第二个和第三个成员时它不起作用。我读到我需要使用'bind'函数,这就是我用于第二和第三个成员的函数:
html.bind('change', '[name=postcode_'+ count +']', function(){
b_postcode = $('input[name=postcode_'+ count +']').val();
$.getJSON('/inc/getPostcodeInfo.php', {postcode:b_postcode}, function(data) {
$('input[name=adres_'+ count +']').val('');
$('input[name=plaats_'+ count +']').val('');
$.each(data, function(index, array) {
// alert(array['straat']);
$('input[name=adres_'+ count +']').val(array['straat']);
$('input[name=plaats_'+ count +']').val(array['woonplaats']);
})
});
});
(每当添加新成员时,count将变为count ++)
这似乎只适用于最后添加的成员。我如何才能完成这项工作,以便为所有成员自动填写街道名称和城市?
信息成员:
会员1 - 邮政编码:1111 AA
会员2 - 门户网站代码:2222 BB
会员3 - 邮政编码:3333 CC
答案 0 :(得分:0)
尝试(对于jquery> = 1.7)
$(document).on('change', '[name^=postcode_]', function(){
var $this = $(this), count = $this.attr('name').match(/(\d+)/)[1];
b_postcode = $(this).val();
$.getJSON('/inc/getPostcodeInfo.php', {postcode:b_postcode}, function(data) {
$('input[name=adres_'+ count +']').val('');
$('input[name=plaats_'+ count +']').val('');
$.each(data, function(index, array) {
// alert(array['straat']);
$('input[name=adres_'+ count +']').val(array['straat']);
$('input[name=plaats_'+ count +']').val(array['woonplaats']);
})
});
});