Oam*_*Psy 1 html javascript jquery split
我有一个相当简单的问题.当我的页面被加载时,它会生成一个代表并解决的长字符串,例如:
101, Dalmations Avenue, Miami, Florida, USA, 908343
Run Code Online (Sandbox Code Playgroud)
使用jQuery,我能够使用以下方法拆分字符串:
var address = sel.options[sel.selectedIndex].value;
var houseNumber = address.split(",")[0];
var street = address.split(",")[1];
var district = address.split(",")[2];
var county = address.split(",")[3];
var country = address.split(",")[4];
var postalcode = address.split(",")[5];
Run Code Online (Sandbox Code Playgroud)
然后我需要将拆分值设置为我的html中的字段,这些字段是onload,被指定为:
<input type="hidden" name="ADDR_HOUSENUMBER" value="">
<input type="hidden" name="ADDR_STREET" value="">
<input type="hidden" name="ADDR_DISTRICT" value="">
<input type="hidden" name="ADDR_COUNTY" value="">
<input type="hidden" name="ADDR_COUNTRY" value="">
<input type="hidden" name="ADDR_POSTALCODE" value="">
Run Code Online (Sandbox Code Playgroud)
我的印象是我可以分配我的分割值,如:
document.forms[0].ADDR_HOUSENUMBER[01].value = houseNumber;
Run Code Online (Sandbox Code Playgroud)
它是否正确?
谢谢
尝试
var address = '101, Dalmations Avenue, Miami, Florida, USA, 908343'; //sel.options[sel.selectedIndex].value;
var $ins= $('input[type="hidden"][name^="ADDR"]');
$.each(address.split(/\s*,\s+/), function(i, val){
$ins.eq(i).val(val)
})
Run Code Online (Sandbox Code Playgroud)
演示:小提琴
注意:这取决于输入字段的顺序,因此如果更改它们,将产生错误的结果
如果您不想依赖订单那么
var address = '101, Dalmations Avenue, Miami, Florida, USA, 908343'; //sel.options[sel.selectedIndex].value;
var order = ["ADDR_HOUSENUMBER", "ADDR_STREET", "ADDR_DISTRICT", "ADDR_COUNTY", "ADDR_COUNTRY", "ADDR_POSTALCODE"];
$.each(address.split(/\s*,\s+/), function (i, val) {
$('input[name="' + order[i] + '"]').val(val)
})
Run Code Online (Sandbox Code Playgroud)
演示:小提琴