Javascript 拆分字符串并分配给字段
我有一个相当简单的问题。加载“我的页面”时,它会生成一个长字符串,表示名称和地址,例如:Javascript 拆分字符串并分配给字段,javascript,jquery,html,split,Javascript,Jquery,Html,Split,我有一个相当简单的问题。加载“我的页面”时,它会生成一个长字符串,表示名称和地址,例如: 101, Dalmations Avenue, Miami, Florida, USA, 908343 使用jQuery,我可以使用以下方法拆分字符串: var address = sel.options[sel.selectedIndex].value; var houseNumber = address.split(",")[0]; var street = address.split("
101, Dalmations Avenue, Miami, Florida, USA, 908343
使用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];
然后,我需要将拆分值分配给html中的字段,这些字段将被加载,如下所示:
<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="">
这是正确的吗
谢谢试试看
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)
})
演示:
注意:这取决于输入字段的顺序,因此如果更改它们,将给出错误的结果
如果你不想依赖订单,那么
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)
})
演示:试试看
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)
})
演示:
注意:这取决于输入字段的顺序,因此如果更改它们,将给出错误的结果
如果你不想依赖订单,那么
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)
})
演示:将class属性添加到html中
<input type="hidden" class="ADDR_HOUSENUMBER" name="ADDR_HOUSENUMBER" value="">
<input type="hidden" class="ADDR_STREET" name="ADDR_STREET" value="">
<input type="hidden" class="ADDR_DISTRICT" name="ADDR_DISTRICT" value="">
<input type="hidden" class="ADDR_COUNTY" name="ADDR_COUNTY" value="">
<input type="hidden" class="ADDR_COUNTRY" name="ADDR_COUNTRY" value="">
<input type="hidden" class="ADDR_POSTALCODE" name="ADDR_POSTALCODE" value="">
等等。将class属性添加到html中
<input type="hidden" class="ADDR_HOUSENUMBER" name="ADDR_HOUSENUMBER" value="">
<input type="hidden" class="ADDR_STREET" name="ADDR_STREET" value="">
<input type="hidden" class="ADDR_DISTRICT" name="ADDR_DISTRICT" value="">
<input type="hidden" class="ADDR_COUNTY" name="ADDR_COUNTY" value="">
<input type="hidden" class="ADDR_COUNTRY" name="ADDR_COUNTRY" value="">
<input type="hidden" class="ADDR_POSTALCODE" name="ADDR_POSTALCODE" value="">
等等。
HTML
<input type="text" name="ADDR_HOUSENUMBER" value="" />
<input type="text" name="ADDR_STREET" value="" />
<input type="text" name="ADDR_DISTRICT" value="" />
<input type="text" name="ADDR_COUNTY" value="" />
<input type="text" name="ADDR_COUNTRY" value="" />
var address = "101, Dalmations Avenue, Miami, Florida, USA, 908343";
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];
document.getElementsByName("ADDR_HOUSENUMBER")[0].value = houseNumber;
HTML
<input type="text" name="ADDR_HOUSENUMBER" value="" />
<input type="text" name="ADDR_STREET" value="" />
<input type="text" name="ADDR_DISTRICT" value="" />
<input type="text" name="ADDR_COUNTY" value="" />
<input type="text" name="ADDR_COUNTRY" value="" />
var address = "101, Dalmations Avenue, Miami, Florida, USA, 908343";
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];
document.getElementsByName("ADDR_HOUSENUMBER")[0].value = houseNumber;
不要每次都拆分字符串。将其拆分一次,然后重新使用。您可能需要以下内容:
var address = sel.options[sel.selectedIndex].value;
var vals = address.split(",");
var houseNumber = vals[0];
var street = vals[1];
...
...
document.forms["yourFormName"].elements["ADDR_HOUSENUMBER"].value = houseNumber;
...
...
不要每次都拆分字符串。将其拆分一次,然后重新使用。您可能需要以下内容:
var address = sel.options[sel.selectedIndex].value;
var vals = address.split(",");
var houseNumber = vals[0];
var street = vals[1];
...
...
document.forms["yourFormName"].elements["ADDR_HOUSENUMBER"].value = houseNumber;
...
...
您应该缓存在变量中重用的计算值:
var fields=address.split(“,”);var houseNumber=字段[0]/。。。依此类推
您应该缓存在变量中重用的计算值:var fields=address.split(“,”);var houseNumber=字段[0]/。。。等等