Javascript 如何在jQuery中连接数组值,但如何格式化它们?
我在Javascript中有以下输入: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
[“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)