Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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 如何在jQuery中连接数组值,但如何格式化它们?_Javascript_Jquery_Arrays_Join - Fatal编程技术网

Javascript 如何在jQuery中连接数组值,但如何格式化它们?

Javascript 如何在jQuery中连接数组值,但如何格式化它们?,javascript,jquery,arrays,join,Javascript,Jquery,Arrays,Join,我在Javascript中有以下输入:[“1213381233”、“1213551233”、“1213551255”],我需要将它们连接起来并格式化。请看以下示例: <div id="segment_form"> <button id="add_condition"> Click me </button> </div> 点击我 var数据_字段='asset_locations_name'; var数据_条件='in'; va

我在Javascript中有以下输入:
[“1213381233”、“1213551233”、“1213551255”]
,我需要将它们连接起来并格式化。请看以下示例:

<div id="segment_form">
  <button id="add_condition">
    Click me
  </button>
</div>

点击我
var数据_字段='asset_locations_name';
var数据_条件='in';
var数据_值=[“1213381233”、“1213551233”、“1213551255”];
$(“#段#形式”)。在('单击','添加#条件',函数()上{
var li='';
var的括号=false;
如果(数据_条件=='在'| |数据_条件=='不在'| |数据_条件=='在'| |数据_条件=='不在'){
has_括号=true;
}
if(数组的数据值实例&&data\u values.length>=1){
li+=';
li+=数据字段+“”+数据条件;
if(带括号){
li+='(';
}
$.each(数据值、函数(索引、值){
li+=''值+'';
});
if(带括号){
li+=')';
}
li+='';
}
$('body')。追加(li);
});
其想法是具有以下输出:

(121338123312135512312135551255)中的资产位置名称

我的代码几乎正常工作,但我得到了:

(121338123312135512312135551255)中的资产位置名称

这里的诀窍是我不能执行
data\u values.join()
,因为我需要每个的值作为span本身的
data id
属性添加

还有其他干净的解决方案吗?欢迎任何帮助


我忘了提到有一把小提琴可以玩。

只需在所有值之后添加“,”并获得不带最后一个“,”的子字符串


点击我
var数据_字段='asset_locations_name';
var数据_条件='in';
var数据_值=[“1213381233”、“1213551233”、“1213551255”];
$(“#段#形式”)。在('单击','添加#条件',函数()上{
var li='';
var的括号=false;
如果(数据_条件=='在'| |数据_条件=='不在'| |数据_条件=='在'| |数据_条件=='不在'){
has_括号=true;
}
if(数组的数据值实例&&data\u values.length>=1){
li+=';
li+=数据字段+“”+数据条件;
if(带括号){
li+='(';
}
$.each(数据值、函数(索引、值){
li+=''+值+',';
});
li=li.substr(0,li.length-1);
if(带括号){
li+=')';
}
li+='';
}
log('data\u field=>',data\u field',data\u condition=>',data\u condition',data\u values=>',data\u values',li=>',li);
$('body')。追加(li);
});

只需在所有值之后添加“,”并获得不带最后一个“,”的子字符串


点击我
var数据_字段='asset_locations_name';
var数据_条件='in';
var数据_值=[“1213381233”、“1213551233”、“1213551255”];
$(“#段#形式”)。在('单击','添加#条件',函数()上{
var li='';
var的括号=false;
如果(数据_条件=='在'| |数据_条件=='不在'| |数据_条件=='在'| |数据_条件=='不在'){
has_括号=true;
}
if(数组的数据值实例&&data\u values.length>=1){
li+=';
li+=数据字段+“”+数据条件;
if(带括号){
li+='(';
}
$.each(数据值、函数(索引、值){
li+=''+值+',';
});
li=li.substr(0,li.length-1);
if(带括号){
li+=')';
}
li+='';
}
log('data\u field=>',data\u field',data\u condition=>',data\u condition',data\u values=>',data\u values',li=>',li);
$('body')。追加(li);
});
这个怎么样

var data_field = 'asset_locations_name';
var data_condition = 'in';
var data_values = ["1213381233", "1213551233", "1213551255"];

$("#segment_form").on('click', '#add_condition', function() {
  var li = '';
  var has_parenthesis = false;

  if (data_condition == 'in' || data_condition == 'not in' || data_condition == 'between' || data_condition == 'not between') {
    has_parenthesis = true;
  }

  if (data_values instanceof Array && data_values.length >= 1) {
    li += '<li data-field="' + data_field + '" data-condition="' + data_condition + '">';
    li += data_field + ' ' + data_condition;

    if (has_parenthesis) {
      li += '(';
    }

    $.each(data_values, function(index, value) {
      // Note the 'prefix' variable here
      var prefix = (index == 0) ? '' : ', ';
      li += '<span title="Click to remove this item from the list" data-id="' + value + '">' + prefix + value + '</span>';
    });

    if (has_parenthesis) {
      li += ')';
    }
    li += '</li>';
  }

  console.log('data_field =>', data_field, 'data_condition => ', data_condition, 'data_values =>', data_values, 'li =>', li);

  $('body').append(li);
});
var数据_字段='asset_locations_name';
var数据_条件='in';
var数据_值=[“1213381233”、“1213551233”、“1213551255”];
$(“#段#形式”)。在('单击','添加#条件',函数()上{
var li='';
var的括号=false;
如果(数据_条件=='在'| |数据_条件=='不在'| |数据_条件=='在'| |数据_条件=='不在'){
has_括号=true;
}
if(数组的数据值实例&&data\u values.length>=1){
li+=';
li+=数据字段+“”+数据条件;
if(带括号){
li+='(';
}
$.each(数据值、函数(索引、值){
//请注意此处的“prefix”变量
变量前缀=(索引==0)?“”:“,”;
li+=''+前缀+值+'';
});
if(带括号){
li+=')';
}
li+='';
}
log('data\u field=>',data\u field',data\u condition=>',data\u condition',data\u values=>',data\u values',li=>',li);
$('body')。追加(li);
});
我用这个解决方案创建了一个新的解决方案。

这个怎么样

var data_field = 'asset_locations_name';
var data_condition = 'in';
var data_values = ["1213381233", "1213551233", "1213551255"];

$("#segment_form").on('click', '#add_condition', function() {
  var li = '';
  var has_parenthesis = false;

  if (data_condition == 'in' || data_condition == 'not in' || data_condition == 'between' || data_condition == 'not between') {
    has_parenthesis = true;
  }

  if (data_values instanceof Array && data_values.length >= 1) {
    li += '<li data-field="' + data_field + '" data-condition="' + data_condition + '">';
    li += data_field + ' ' + data_condition;

    if (has_parenthesis) {
      li += '(';
    }

    $.each(data_values, function(index, value) {
      // Note the 'prefix' variable here
      var prefix = (index == 0) ? '' : ', ';
      li += '<span title="Click to remove this item from the list" data-id="' + value + '">' + prefix + value + '</span>';
    });

    if (has_parenthesis) {
      li += ')';
    }
    li += '</li>';
  }

  console.log('data_field =>', data_field, 'data_condition => ', data_condition, 'data_values =>', data_values, 'li =>', li);

  $('body').append(li);
});
var数据_字段='asset_locations_name';
var数据_条件='in';
var数据_值=[“1213381233”、“1213551233”、“1213551255”];
$(“#段#形式”)。在('单击','添加#条件',函数()上{
var li='';
var的括号=false;
如果(数据_条件=='在'| |数据_条件=='不在'| |数据_条件=='在'| |数据_条件=='不在'){
has_括号=true;
}
if(数组的数据值实例&&data\u values.length>=1){
li+=';
li+=数据字段+“”+数据条件;
if(带括号){
li+='(';
}
$.each(数据值、函数(索引、值){
//请注意此处的“prefix”变量
变量前缀=(索引==0)?“”:“,”;
li+=''+前缀+值+'';
});
if(带括号){
li+=')';
}
李+=
$.each(data_values, function(index, value) {
  li += '<span title="Click to remove this item from the list" data-id="' + value + '">' + value + '</span>';
  if (index !== data_values.length - 1) {
    li += ','
  }
});
$.each(data_values, function(index, value) {
  li += '<span title="Click to remove this item from the list" data-id="' + value + '">' + value + '</span>';
});
li.slice(0,-1)