Php 如何从jquery中的有序选择框创建逗号分隔的数组

Php 如何从jquery中的有序选择框创建逗号分隔的数组,php,jquery,html,Php,Jquery,Html,如何使用选择框从生成的列表中创建项目数组,以对项目进行排序,并用逗号将其清除 例如 我在数据库中有一个由id生成的项目列表,其中有一个与该项目关联的选择框 <?php $sql = mysql_query("SELECT id, title FROM songs WHERE id='$id' ORDER BY title ASC"); while($row = mysql_fetch_array($sql)){ $id = $row['id']; $title = $

如何使用选择框从生成的列表中创建项目数组,以对项目进行排序,并用逗号将其清除

例如

我在数据库中有一个由id生成的项目列表,其中有一个与该项目关联的选择框

<?php
$sql = mysql_query("SELECT id, title FROM songs WHERE id='$id' ORDER BY title ASC");

  while($row = mysql_fetch_array($sql)){
    $id = $row['id'];
    $title = $row['title'];
    $song_chart .= '

      <div id="$id">

        <select>
          <option val="1">1</option>
          <option val="2">2</option>
          <option val="3">3</option>
          <option val="4">4</option>
          //etc...
        </select>

        <a href="page.php?id='.$id.'">'.$title.'</a>

      </div>';
  }
$song_chart .= '<button></button>';
echo $song_chart;
?>

然后将它们发布到数据库。

好的,在这种情况下,将数据编码到选项的值中更容易

<div id="3">
  <select>
    <option val="1">1</option>
    <option val="2">2</option>
    <option val="3">3</option>
    <option val="4">4</option>
    //etc...
  </select>

  <a href="page.php?id=3">three</a>

</div>

1.
2.
3.
4.
//等等。。。
变成:

<div id="3">
  <select>
    <option val="3,1">1</option>
    <option val="3,2">2</option>
    <option val="3,3">3</option>
    <option val="3,4">4</option>
    //etc...
  </select>

  <a href="page.php?id=3">three</a>

</div>

1.
2.
3.
4.
//等等。。。

将ID嵌入到数据中。逗号分隔。

在迪奥德斯的帮助下,我得到了一个解决方案(谢谢)

我还更改了html输出中的一些内容

<div id="3">
  <select class='selection'>
    <option></option>
    <option val="1,id">1</option>
    <option val="2,id">2</option>
    <option val="3,id">3</option>
    <option val="4,id">4</option>                      
    //etc...                    
  </select>
  <a href="page.php?id=3">three</a>
</div>

1.
2.
3.
4.
//等等。。。

谢谢@Diodeus的回复,但问题是选择多个选项将允许用户在选择元素中选择多个选项。我要做的是从列表中与选择框关联的每个生成项中获取选择的单个值和项“id”,然后根据所选值对它们进行排序。将您需要的所有值都放在“值”中,并使用逗号分隔。很抱歉,我对编程相对陌生。你能用一个简单的代码示例来解释一下吗?我保证,我不是在试图寻找答案,只是一个达到目的的方法会很好。感谢您发布的HTML并没有完全描述您要实现的目标。您正在展示PHP代码。问题在客户机上,因此显示您的HTML输出。源代码在这里没有相关性。
<div id="3">
  <select>
    <option val="3,1">1</option>
    <option val="3,2">2</option>
    <option val="3,3">3</option>
    <option val="3,4">4</option>
    //etc...
  </select>

  <a href="page.php?id=3">three</a>

</div>
$(document).ready(function(){
  $('.selection').value(""); // clears the values
  $('selection option').click(function(){ // when option is clicked

    s=new Array(); // create array
    $("select option:selected").each(function(){
     // check to see which values are selected
      var v = $(this).val();

      if(v != ""){ // if the value is not empty.
        s.push(v); 
      }

    });

  });
  $("#submitList").click(function(){
    if(s != ""){
      alert(s);//or submit the list
    }
  });
});
<div id="3">
  <select class='selection'>
    <option></option>
    <option val="1,id">1</option>
    <option val="2,id">2</option>
    <option val="3,id">3</option>
    <option val="4,id">4</option>                      
    //etc...                    
  </select>
  <a href="page.php?id=3">three</a>
</div>