日期:2014-05-18  浏览次数:20744 次

asp.net C# 怎样获得 html select 控件的所有值
请问怎样获得下面 Select1控件的所有值?
<select name="Select1" multiple="true" size="8" id="Select1">
  <option value="东城区">东城区</option>
  <option value="西城区">西城区</option>
  <option value="崇文区">崇文区</option>
  <option value="宣武区">宣武区</option>
</select>
说: 在select中不加 runat="server" 的情况下;

------解决方案--------------------
用js:

var loSelect=document.getElementById("Select1");
var lnlength=loSelect.options.length;
var values;
for(var i=0;i<lnlength;i++)
{
values+=loSelect.options[i].value;
}
------解决方案--------------------
1.用HIDDEN控件
2.使用ASP控件DropDownList
------解决方案--------------------
JScript code

window.onload=function(){
var loSelect=document.getElementById("Select1"); 
var lnlength=loSelect.options.length; 
var values; 
for(var i=0;i <lnlength;i++) 
{ 
  values+=loSelect.options[i].value; 
}

 document.getElementById('ct100_hidden').value=values; //用hidden控件保存 post上去
}

------解决方案--------------------
探讨
用js: 

var loSelect=document.getElementById("Select1"); 
var lnlength=loSelect.options.length; 
var values; 
for(var i=0;i <lnlength;i++) 

values+=loSelect.options[i].value; 
}

------解决方案--------------------
先用js把取到的值放到一个有runat="server"属性的hidden文本框中,不就可以在cs代码中取到吗
------解决方案--------------------
js:

var loSelect=document.getElementById("Select1"); 
var lnlength=loSelect.options.length; 
var values; 
for(var i=0;i <lnlength;i++) 

values+=','+loSelect.options[i].value; 
}
document.getElementById("hidValue").value=values;

html:

<input type="hidden" runat='server' id='hidValue'/>

cs:

string lsValue=this.hidValue.value;