0

我有一个显示不同优先级等级的 JSON 字符串,json 的键是其排名的数字,该键的值是优先级表中的优先级 ID。例如 {"1":2,"2":3,"3",1}

我将此 JSON 存储在 mysql 的 PRIORITY_RANKS 列中以供教练使用,我正在我的 rails 应用程序中的 COACHES/EDIT 页面上工作,我需要能够按照 JSON 字符串显示的顺序将优先级排序到列表中而不是它们在mysql中找到的顺序。

不知何故,我需要解析 JSON 字符串并相应地对优先级进行排序。我正在使用 jquery UI 来实现可排序功能。继承人列表的样本。如果您需要更多信息,请告诉我。我仍然只是一个新手lol的一点经验!

查看/编辑`

<td style="padding:20px;">
                        <label class="pc3">Drag to Rank Priorities for Coach</label>
                        <p class="priochecker">Uncheck to disable Priorities</p>
                        <div id="rightlist">
                            <input type="hidden" name="currentranks" id="currentranks"></input>
                            <ul id="sortable" style="list-style:none;">
                                <% @priorities.each do |x, count| %>
                                    <li class="digit"><input class="priobox" type="checkbox" id="<%= x.id %>" name="<%= x.name %>" value="<%= x.id %>" onclick="removeval(this,<%= x.id %>);" checked>
                                    <strong>Rank <span class='prilistid'></span> <%= x.name %></strong></li>
                                <% end %>   
                            </ul>
                        </div>
                        </td>
                    </tr>
                </table>
                </div>
                <input type="hidden" name="coach[priority_ranks]" id="hash" value="{'1':1,'2':2,'3':3}"></input>



COACHES_CONTROLLER

  def edit
    #@coach = @current_coach
    @locations = Location.find(:all, :order => "name")
    @levels = Level.find(:all, :order => "value")
    @coach = Coach.find(params[:id])
    @ranks = Array.new
    @current_site = @coach.sites
    @priority_ranks = @coach.priority_ranks
    @priorities = Priority.find(:all, :conditions => { :deleted => false })
    siteObj = Site.all

    @sites = {}

    @sites['All Sites'] = -1

    siteObj.each do |t|
      @sites[t.name] = t.id
    end
  end
4

0 回答 0