日期:2014-05-17  浏览次数:20564 次

select中option的值如何选中并赋值给后台。
前台代码
<select name="VoteType" id="VoteType"  runat="server">
          <option value="Single" >单选</option>
          <option value="Multi" >多选</option>
        </select>

我在修改的时候可以获取当前的值,并显示正确,但是点击下拉列表从多选变为单选后点击修改。却无法修改,不能将单选中的Single值存入数据库。
请问该如何操作啊。
后台代码:从数据库取值显示:
this.VoteType.Value = ds.EDU_Vote[0].VoteType;
 这个可以实现。
但是在修改页面从多选变单选时却修改不了值。  我该怎么操作啊

------解决方案--------------------
修改不了值,可能性兩種。
1.沒取到值
2.取到值了,更新sql語句有問題。
第一種可能性更大。
lz可以把獲取下拉框的值那句代碼貼上來麼。。。
------解决方案--------------------
string s=this.VoteType.Value;
------解决方案--------------------
你先調試一下,看this.VoteType.Value是否是你選擇的那個值,如果正確,那還是有問題的,你想直接修改DataSet對象中的值?ds.EDU_Vote[0].VoteType=。。。
引用:
C# code
ds.EDU_Vote[0].VoteType = this.VoteType.Value;
这样不行。是不是没有触发事件啊 谁会啊

------解决方案--------------------
用个隐藏域保存select值 。
js前台处理 。

var select = document.getElementById("VoteType");
           for(var i = 0 ;i<select.options.length;i++){
            if(select.options[i].text=="多选")
               select.selectedIndex = i;
           }

为什么不直接用dropdownlist ?
------解决方案--------------------
dropdownlist简单一些

你要是用select 对于你而言 估计要通过 js  传值了

所以干脆 dropdownlist 算了
------解决方案--------------------
ddl.DataSource = list;//数据源 
ddl.DataTextField = "name";//显示字段
ddl.DataValueField = "id";//值字段
ddl.DataBind();//完成绑定
---------------------
for (int i = 0; i < ddl.Items.Count; i++)//默认值 。
{
 if (ddl.Items[i].Value == "张三")
{
 ddl.SelectedIndex = i;
}
  }
前台
document.getElementById("<%=ddl.ClientID %>");
获取对象。


------解决方案--------------------
用js吧 
------解决方案--------------------
你用html控件再把他转成服务器控件 再在后台取值 有必要吗 要吗就全是html控件 + AJAX 去处理 闲难麻烦 那你就用DropDownList算了 
------解决方案--------------------
<head runat="server">
    <script type="text/javascript" src="jquery-1.3.2.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $("#Select1 option").each(function(){
                alert($(this).attr("selected"))