2010-04-23 60 views
1

所有值我有一个窗体上的选择框 - 我已经在一个列表框中通过把后在选择框/列表框

<select id="Select1" name="D1" size="5" style="width: 220px"> 

我填充值这个选择/列表框打开..

当我发布表单时,如何获得选择框中的所有值..这是可能的,还是我只能得到一个已被选中的值。

麻烦的是我想在选择的所有值(我没有任何选择这样)

任何想法?

回答

1

之前提交表单,您可以使用JavaScript来拉动项目进行选择,并把它们变成一个隐藏的文本字段(如分隔字符串)

例如,你可以使用

var select1 = document.getElementById('select1'); 
var values = new Array(); 

for(var i=0; i < select1.options.length; i++){ 
    values.push(select1.options[i].value); 
} 

var allValues = values.join(";"); 
alert(allValues); 

希望有所帮助。

+0

好的。我认为这是要走的路。但我试图在选择中获取每个值,但是在获取值时遇到问题。我有什么是: function doSelects(){ var select1 = document.getElementById(“select1”); (s1 = 1; s1 <= select1.length; s1 ++) { alert(select1.options [s1] .value); } } ......怎么输出每个值? – thegunner 2010-04-23 12:42:31

+0

它是select1.options [s1] .value这显然是不正确的,但不知道正确的语法 – thegunner 2010-04-23 12:43:27

+0

我已经更新了我的答案与一个适用于我的例子。您将希望从零开始运行for循环,并且以小于options.length的一个结尾,因为选项是基于零的数组。 – 2010-04-23 14:46:53

1

你如何将值添加到列表框?它们是静态还是从数据库中提取?

如果您从数据库中提取数据,我会创建一个函数用于获取数据并绑定到列表框。

然后当你想在帖子后面获得这些值时使用相同的功能。您可能必须使用一些隐藏字段来传递您用来首先获取列表框值的任何参数。

例如:

function get_models_for_make(int make_id) 
    mydata_rs = SELECT name, id FROM models WHERE make_id = make_id 
    return mydata_rs 
end 

,所以你可以使用这个数据的对象绑定到你的列表框,还可以使用它以后得到的数值,你没有绑定到你的列表框。

-1
for (int i = source.Items.Count - 1; i >= 0; i--) 
     { 
      ListItem item = source.Items[i]; 

      if (moveAllItems) 
       item.Selected = true; 

      if (item.Selected) 
      { 
       // if the target already contains items, loop through 
       // them to place this new item in correct sorted order 
       if (target.Items.Count > 0) 
       { 
        for (int j = 0; j < target.Items.Count; j++) 
        { 
         if (target.Items[j].Text.CompareTo(item.Text) > 0) 
         { 
          target.Items.Insert(j, item); 
          item.Selected = false; 
          break; 
         } 
        } 
       } 

       // if item is still selected, it must be appended 
       if (item.Selected) 
       { 
        target.Items.Add(item); 
        item.Selected = false; 
       } 

       // remove the item from the source list 
       source.Items.Remove(item); 
      } 
     } 
+0

此评论对发布无效。有些上下文会很好。这是服务器端还是客户端?你忘记了宣言吗?什么是moveAllItems? – Barett 2012-12-06 23:28:04