如何使用Jquery动态创建分隔字符串?

时间:2011-06-12 15:38:22

标签: javascript jquery

好的,我对JavaScript和jquery都不熟悉,对我这么光......

我正在创建一个动态表单构建器,可以拖动,删除,重新排序表行等。大部分都是有效的,但是当涉及到删除行时,我将如何创建一个数组或一组值,我可以将其发回到我用来更新数据库的php脚本。

我要处理它的方法是创建一个分隔的字符串并将其发回。

如何通过附加如下值来动态创建字符串:23 |每次用户点击按钮?例如,if用户单击按钮3次,刺痛将是23 | 25 | 26 |然后当他们点击保存时,可以将该值发回以进行处理。

这是我到目前为止删除函数的代码,但它只删除表行而不是实际生成字符串。

$(".reMove").live('click', function(e) {
    $(this).parent().parent().remove();


     var al = $(this).attr('rel');


    $("#form1").find(".del").val(al);


    e.preventDefault();

    sortt();

});

2 个答案:

答案 0 :(得分:1)

我会使用数组:

var deletions = [];

// When deleting
deletions.push(value);

// When sending to your PHP script, create a string via Array#join
var deletionsString = deletions.join("|");

或者,如果您愿意,可以使用字符串并附加到它:

var deletions = "";

// When deleting
deletions += "|" + value;

// When sending to your PHP script
if (deletions.length > 0) {
    deletions = deletions.substring(1); // Skip the leading "|"
}

...但我更喜欢阵列路线。

答案 1 :(得分:0)

我可以看到你在这里有一张表格。您可以动态创建隐藏的输入:

var $input = $('<input/>')
    .attr('type', 'hidden')
    .attr.('name', 'del[]')
    .val(al);
$("#form1").append($input);

在提交此表单后,您可以简单地删除$ _POST ['del']数组中的所有记录。 也许这是你正在寻找的解决方案?