Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.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
Php 从多个字段中创建逗号分隔的值_Php_Javascript_Jquery - Fatal编程技术网

Php 从多个字段中创建逗号分隔的值

Php 从多个字段中创建逗号分隔的值,php,javascript,jquery,Php,Javascript,Jquery,我将1-10个表单字段发布到一个php脚本中,该脚本从现有字段收集值并使用这些数据 由于我正在尝试将站点上的一些函数更改为ajax,我想知道如何使用jquery查找所有名为amount-*的字段,并将其值放在逗号分隔的字符串中,然后通过ajax将其发布到服务器端脚本,如下所示: 新代码 旧代码 试试这个: var commaSeperatedValues = ""; $("[name^='amount-']").each(function(){ commaSeperatedValues

我将1-10个表单字段发布到一个php脚本中,该脚本从现有字段收集值并使用这些数据

由于我正在尝试将站点上的一些函数更改为ajax,我想知道如何使用jquery查找所有名为
amount-*
的字段,并将其值放在逗号分隔的字符串中,然后通过ajax将其发布到服务器端脚本,如下所示:

新代码

旧代码

试试这个:

var commaSeperatedValues = "";
$("[name^='amount-']").each(function(){
    commaSeperatedValues += $(this).val() + ","; //or you can use this.value
});
commaSeperatedValues = commaSeperatedValues.replace(/,$/, "")

$("#div").load("/serverscript.php", {ids:commaSeparatedValues});
试试这个:

var commaSeperatedValues = "";
$("[name^='amount-']").each(function(){
    commaSeperatedValues += $(this).val() + ","; //or you can use this.value
});
commaSeperatedValues = commaSeperatedValues.replace(/,$/, "")

$("#div").load("/serverscript.php", {ids:commaSeparatedValues});


@走近者:这里有什么难以理解的?看起来很明显。不实用,但很明显。我建议您编辑问题,只问第二部分(查找所有字段..将值放在逗号分隔的字符串中..),否则人们会关闭此问题。@Joseph-如果您这样做,您的客户将永远无法在禁用JS的情况下使用您的表单。这是一件好事吗?@mpl从标题上看,有人可能会认为OP只是要求翻译一些代码——就我个人而言,我已经阅读了整件事,但很多人很快就完成了,不必费心了。@Sha我同意。我不喜欢这里的触发幸福。比没有评论的下层选民稍微不那么恼人,但仍然“更接近”:这里有什么难以理解的?看起来很明显。不实用,但很明显。我建议您编辑问题,只问第二部分(查找所有字段..将值放在逗号分隔的字符串中..),否则人们会关闭此问题。@Joseph-如果您这样做,您的客户将永远无法在禁用JS的情况下使用您的表单。这是一件好事吗?@mpl从标题上看,有人可能会认为OP只是要求翻译一些代码——就我个人而言,我已经阅读了整件事,但很多人很快就完成了,不必费心了。@Sha我同意。我不喜欢这里的触发幸福。与无评论的投票者相比,稍微不那么烦人,但我仍然会使用数组,然后
加入
它,然后再附加到字符串。很好!我还可以通过使用原始的
this.value
(无需用
$
)进一步提高效率,并最终不存储空值,尽管我相信它是在服务器端代码中处理的:啊哈-我总是担心美元对美元是的,不需要包装。最后一件事(希望是)
如果(val.length>0)
足够了,它将永远不会是未定义的或空的-只要空字符串,以防用户没有键入任何内容。当然,除非有
以外的元素使用该名称,否则要解决此问题,请将选择器更改为
$(“输入[name^='amount-']”)
我已经看到了长度测试,但是如果没有返回值,则该测试将不起作用。我知道在旧版的Mozilla中,如果你询问
上的值,你会得到一个未定义的值。我会使用数组,然后
加入它,然后再附加到字符串。很好!我还可以通过使用原始的
this.value
(无需用
$
)进一步提高效率,并最终不存储空值,尽管我相信它是在服务器端代码中处理的:啊哈-我总是担心美元对美元是的,不需要包装。最后一件事(希望是)
如果(val.length>0)
足够了,它将永远不会是未定义的或空的-只要空字符串,以防用户没有键入任何内容。当然,除非有
以外的元素使用该名称,否则要解决此问题,请将选择器更改为
$(“输入[name^='amount-']”)
我已经看到了长度测试,但是如果没有返回值,则该测试将不起作用。我知道在老式的Mozilla中,如果你询问
HoHum上的值,你会得到一个未定义的值。我必须学会对问题不做任何评论,然后键入fasterHoHum。我必须学会不要对这个问题发表任何评论,然后打字要快一些
var commaSeperatedValues = "";
$("[name^='amount-']").each(function(){
    commaSeperatedValues += $(this).val() + ","; //or you can use this.value
});
commaSeperatedValues = commaSeperatedValues.replace(/,$/, "")

$("#div").load("/serverscript.php", {ids:commaSeparatedValues});
var commaSeparatedValues = [];
$("[name^='amount-']").each(function() {
  var val = this.value; // using the raw field value rather than $(this).val();
  if (val.length>0) commaSeparatedValues.push(val);
}
$("#div").load("/serverscript.php", {ids:commaSeparatedValues.join(",")}