Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 拆分字符串并分配给字段_Javascript_Jquery_Html_Split - Fatal编程技术网

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]/。。。等等