在拖放上更改隐藏名称

时间:2017-02-11 15:56:30

标签: javascript php jquery

我正在尝试从<li>中拖出<ul>个元素,然后将其放在另一个<ul>上。

拖放过程有效。

因为我需要将结果发布到另一个php页面,所以我创建了原始<li>,如下所示:

<li>Test<input type="hidden" name="list1[]" value="Test" /></li>
<li>OK<input type="hidden" name="list1[]" value="OK" /></li>

但是,当我在目的地上放置<li>时,我想给目的地<li>另一个隐藏的输入名称。

当前行为是被删除的元素继承与原始元素完全相同的输入名称。因此,当我将上面的第一个元素拖到它的目的地时,它也会得到:

<input type="hidden" name="list1[]" value="Test" />

有没有办法将输入语句中的名称“list1 []”更改为其他内容?

1 个答案:

答案 0 :(得分:3)

我认为这样的事情可能就是你想要的。

jQuery("li").droppable({
  drop: function(event, ui){
    jQuery(event.target).attr("name", "NAME_OF_NEW_LIST");
  }
});

如果您有兴趣使用它来解决这个问题,我想我可能已经编写了类似的Riot元素。它在两个选择框之间移动选项元素,但概念应该非常相似。这是链接:https://github.com/jfehrman/humdrum-components/blob/master/src/list_builder.tag