【问题标题】:JQueryUI Sortable - new order to stringJQueryUI Sortable - 字符串的新顺序
【发布时间】:2018-07-28 06:51:08
【问题描述】:

我正在使用 JQueryUi Sortable 通过用户友好的拖放功能对图库进行排序。

排序的东西看起来像:

 <div id="gallery"><div class="wrapper" data-id="//here is name of picture like :2017554352.jpg">
      //actual picture and desc.. etc.
  </div>
  <div class="wrapper" data-id="//here is name of picture like :2017554352.jpg">
      //actual picture and desc.. etc.
  </div><div>

这里是实际的简单排序脚本:

<script> 
       $( function() {
       $( "#gallery" ).sortable();

       });
</script>

我想通过将 div 的 data-id 输入到此表单的隐藏输入中来创建 php 字符串。 将如何运作这看起来像什么?

<form name="sortForm" action="sortPics_submit.php" method="post">
         <input type="hidden" id="sortOrder" name="sortOrder">
        <button type="submit" class="submit3" name="submit"><span>Save&Continue...</span></button>
</form>

感谢您的任何建议!

【问题讨论】:

  • 所以你想获得所有 div 的 data-id 属性?但在什么时候你想这样做?你这样做是为了将排序的顺序保存到数据库中吗?
  • 我认为 JQuery 有类似 Update 事件,当用户停止排序并且 DOM 位置发生变化时会触发该事件。所以我可以把这个功能放在这个事件中,或者它可能是点击一个按钮,没关系。关键是我绝对是 jQuery/javascript 的新手,我只想知道如何根据数据 ID 创建该字符串并将其放入表单中。是的,它用于数据库
  • 看看here
  • 我已经看到了。我想避免使用ajax。我只需要将值动态输入隐藏输入的函数。
  • 我想说的是,您可以使用可排序的update 事件,如果您尝试获取 div 的顺序,那么您应该用代码替换 ajax 部分要获取订单或 div,我不明白为什么要获取 data-id 属性,如果您想要排序顺序,您可以使用 $(this).sortable('serialize'); 获取最新订单,如果不是关于div的顺序那么为什么在排序后使用if?

标签: javascript jquery html


【解决方案1】:

您可以使用以下函数以逗号分隔格式连接所有可排序 div 的data-id,然后将其添加到表单输入中。 看下面的演示

function getData() {
  var string = '';
  $("#gallery>div[data-id]").each(function() {
    string += $(this).data('id') + ',';
  });
  return string.substr(0, string.length - 1);
}
$("#sortOrder").val(getData());
console.log(getData());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="gallery">
  <div class="wrapper" data-id="2017554352.jpg">

  </div>
  <div class="wrapper" data-id="2017550052.jpg">

  </div>
</div>

<form name="sortForm" action="sortPics_submit.php" method="post">
  <input type="text" id="sortOrder" name="sortOrder">
  <button type="submit" class="submit3" name="submit"><span>Save&Continue...</span></button>
</form>

【讨论】:

  • 是的,正是我的意思。非常感谢。
  • :) 很高兴我能帮上忙,你也可以投票;)@JúliusĽuptovec
  • 我没有足够的声誉,对不起,我刚接触 SO :DD “感谢您的反馈!声誉低于 15 的人的投票会被记录下来,但不要更改公开显示的帖子分数。 "
  • 我不知道为什么,但由于某种原因它不起作用@MuhammadOmerAslam
  • 您如何使用它并将值分配给输入字段?您可以看到它的工作首先是将函数返回的值分配给输入字段
猜你喜欢
  • 2014-09-09
  • 2015-05-21
  • 1970-01-01
  • 2016-04-28
  • 1970-01-01
  • 2018-03-30
  • 1970-01-01
  • 1970-01-01
  • 2012-06-09
相关资源
最近更新 更多