0

每次用户单击复选框时,我都会向隐藏的输入值添加几个值。

每个复选框存储 2 个值,如下所示:

<input type="checkbox" class="first" value="9598864;3">

第一个值是:9598864和第二个值:3

目前我正在以这种方式将数据添加到输入中:

var currentValue = $('#myInput').val();
var text;

//adding the value to the input + separator "-"
if($(this).is(':checked')){
    $('#myInput').val(currentValue + "-" + $(this).val());
}

//erasing the value from the input + separator "-"
else{
    text = currentValue .replace("-" + $(this).val(), "");
    $('#myInput').val(text);
}

结果是这样的:

<input type="hidden" name="demo" value="-9582856;3-9598864;3" id="myInput">

我得到一个由 2 个元素组成的数组,每个元素里面有另外 2 个元素:

元素 1:

  • 9582856
  • 3

要素 2:

  • 9598864
  • 3

我现在正在做的是在服务器端(PHP)处理数据,并通过这些字符串分解-;获取所需的元素。

还有其他更好的方法来完成这项任务吗?使用 jQuery 或 Javascript 在输入中存储数据数组的正确方法是什么?

谢谢。

4

1 回答 1

1

我认为你的方法很好,因为即使你在其他类型的数据结构中发布 var。obj 或数组,您必须在服务器端编写一些代码来处理它。在这种情况下,使用 explod funk 更容易使用。

希望这有帮助

于 2013-01-29T14:55:57.803 回答