Javascript 如何将此字符串拆分为3个值?

Javascript 如何将此字符串拆分为3个值?,javascript,sql,html,Javascript,Sql,Html,我有一个包含一些项目的无序列表,单击一个按钮,我想循环它们,首先将它们的值拆分为3个字符串&删除kg,然后将它们存储在数据库(phpmyadmin)中的3个不同列中,如何做到这一点? 列表示例之一:香蕉,干的,20公斤 function AddNewOrder() { var ul = document.getElementById("OrderDetails"); var items = ul.getElementsByTagName("li"); for (var

我有一个包含一些项目的
无序列表
,单击一个按钮,我想循环它们,首先将它们的值拆分为3个字符串&删除
kg
,然后将它们存储在数据库(phpmyadmin)中的3个不同列中,如何做到这一点? 列表示例之一:
香蕉,干的,20公斤

function AddNewOrder()
  {
    var ul = document.getElementById("OrderDetails");
    var items = ul.getElementsByTagName("li");
    for (var i = 0; i < items.length; ++i) 
     {
        var s=items[i].firstChild.data;
        var splits = s.split(',', 3);
     }
  }
函数AddNewOrder()
{
var ul=document.getElementById(“订单详细信息”);
var项目=ul.getElementsByTagName(“li”);
对于(变量i=0;i
这个怎么样

function AddNewOrder()
  {
    var ul = document.getElementById("OrderDetails");
    var items = ul.getElementsByTagName("li");
    for (var i = 0; i < items.length; ++i) 
     {
        var s=items[i].firstChild.data;
        var splits = s.split(',', 3);
        splits[2] = splits[2].replace("kg", "");
     }
  }
函数AddNewOrder()
{
var ul=document.getElementById(“订单详细信息”);
var项目=ul.getElementsByTagName(“li”);
对于(变量i=0;i

这段代码将用空白字符串替换kg。

因此您可以很好地拆分它,但仍然必须删除“kg”


您可以使用正则表达式拆分结果,并通过ajax将结果发送到服务器:

$(“#发送”)。单击(函数(e){
AddNewOrder();
});
函数sendRequest(url、postData、回调){
var req=新的XMLHttpRequest();
如果(!req)
返回;
var方法=(postData)?“POST”:“GET”;
请求打开(方法、url、true);
if(postData)
req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
req.onreadystatechange=函数(){
如果(req.readyState!=4)
返回;
如果(请求状态!=200和请求状态!=304){
返回;
}
回调(req);
}
如果(req.readyState==4)
返回;
请求发送(postData);
}
函数提取数据(str){
var-res=[];
var regex=/(\w+)(kg?,?)/g;
while((m=regex.exec(str))!==null){
//这是避免具有零宽度匹配的无限循环所必需的
if(m.index==regex.lastIndex){
regex.lastIndex++;
}
//可以通过'm`-变量访问结果。
如果(分辨率长度<3){
//我们只检索前三个结果,但正则表达式支持未定义的数量或逗号分隔的值。
res.push(m[0]);
}
}
返回res;
}
函数AddNewOrder(){
//如果您正在使用Twitter的引导,最好使用jQuery来处理DOM
var$ul=$(“#订单详细信息”);
风险值$items=$ul.find(“li”);
var-ord=[];
//每项
$items.每个(功能(键,val){
//在阵列中拆分和存储
var data=$(this.children().html();
命令推送(提取数据(数据));
});
/*
作战需求文件=[
[‘香蕉’、‘干的’、‘20’],
[potates'、'Rolling'、'42'],
[‘苹果’、‘干’、‘20’],
[‘草莓’、‘干的’、‘20’],
//等等。。。
]
*/
//发送Ajax数据:
警报(“向服务器发送数据”);
return;//因为↓ 这↓ 未配置为此代码段工作
var url='[此处的服务器脚本位置]'
sendRequest(url,{orders:ord},函数(响应){
/*等等*/
})
}

  • 布拉布拉布拉布拉布拉香蕉,干,20公斤
  • 布拉布拉布拉布拉布拉布拉布拉土豆,卷,42公斤
  • 布拉布拉布拉布拉布拉苹果,干,20公斤
  • 布拉布拉布拉布拉布拉布拉草莓,干,20公斤
  • 布拉布拉布拉布拉菠萝,干,20公斤
  • 布拉布拉布拉托斯,干的,20公斤

Send
您正在使用引导,这意味着您正在使用Jquery。有什么理由不使用jquery标记这个问题吗?.Perfect…php文件中的sql部分呢?你也可以帮我吗?当然可以。您的数据库中已经有表来存储这些数据了吗?是的,表:
订单
,列:
类别名称
类别类型
金额
,而且我没有使用引导,您可以更新jquery部分的答案吗:)当然,看到了twitter引导标签,假设您也在使用jQuery,因为它是twbs所必需的;)
splits[splits.length-1] = splits[splits.length-1].split(" ",1).toString();