我有以下数组设置,我,e:
var myArray = new Array();
Run Code Online (Sandbox Code Playgroud)
使用这个数组,我会在用户添加更多菜单项时动态创建面包屑菜单.我还允许他们通过点击eatch breadcrumb菜单项旁边的十字架来删除特定的面包屑菜单项.
数组可能包含以下数据:
myArray[0] = 'MenuA';
myArray[1] = 'MenuB';
myArray[2] = 'MenuC';
myArray[3] = 'MenuD';
myArray[4] = 'MenuE';
Run Code Online (Sandbox Code Playgroud)
我的问题是:
a)在JavaScript中,如何从myArray中删除元素[1]然后重新计算索引或这是不可能的?
b)如果我不想要菜单选项MenuB,是否需要将其拼接以将其删除?
我的问题是,如果用户删除菜单项以及最后创建新闻,那么这些元素的索引将如何展开?
我只是希望能够删除项目,但不知道如何处理数组索引.
我正在使用Laravel框架,使用eloquent与我的数据库进行交互.
我有一个表格,我发布到我的控制器.此表单包含由用户添加的"标记".用户可以根据需要添加任意数量的标签.
我想POST标签,然后在我的控制器中,将每个标签插入一个新的表行,如下所示:
$tag = new Tag;
$tag->user_id = Input::get('user_id');
$tag->tag_name = Input::get('tag_name');
$tag->save();
Run Code Online (Sandbox Code Playgroud)
我该怎么处理?起初我想把每个标签放到一个数组中,POST数组,然后在控制器中我循环遍历每个元素,将它们插入数据库.
但经过一番搜索,我得出的结论是你不能发布一个数组.
所以另一种方法是将每个数组值作为隐藏表单类型POST.问题在于如何告诉我的控制器要插入多少个标签(以及它们的行).
我希望这很清楚,在此先感谢.
编辑:仍有一些麻烦
编辑2:更改了代码以在javascript中包含'i'变量以及POST时使用的新数组.
这是用户生成的输入标签的样子
$("#tagsbox")
.append("<div class='displaytag'><i>"+tag+"</i><input type='hidden' name='tags["+i+"]["+user_id+"]' value="+user_id+"><input type='hidden' name='tags["+i+"]["+tag+"]'value="+tag+">")
Run Code Online (Sandbox Code Playgroud)
这是提交后POST数据的样子
Array
(
[user_id] => 12
[lat] => 50.80589
[lng] => -0.02784
[spot_name] => test spot
[tags] => Array
(
[1] => Array
(
[12] => 12
[tag1] => tag1
)
[2] => Array
(
[12] => 12
[tag2] => tag2
)
[3] => Array
(
[12] => 12
[tag3] …Run Code Online (Sandbox Code Playgroud)