客户端javascript修改后获取DropDownList的值

时间:2009-07-09 20:13:02

标签: asp.net javascript

我在应用程序中有一个级联的DropDownList。级联下拉列表的内容足够小,不需要使用AJAX / JSON去数据库获取内容,我只是在客户端javascript这样做(这是一个子集数据):


var val = typeList.value; 
var applyTimeList = document.getElementById('clientid');
for (var q=applyTimeList.options.length; q>=0; q--) 
    applyTimeList.options[q]=null;

if (val == 'AutoRoute')
{
    myEle = document.createElement('option') ;
    myEle.value = 'SOP Processed';
    myEle.text = 'SOP Processed';
    applyTimeList.add(myEle) ;
} else if (val == 'Tier1Retention') {
    myEle = document.createElement('option') ;
    myEle.value = 'Study Processed';
    myEle.text = 'Study Processed';
    applyTimeList.add(myEle);
    myEle = document.createElement('option') ;
    myEle.value = 'Study Restored';
    myEle.text = 'Study Restored';
    applyTimeList.add(myEle);
    myEle = document.createElement('option') ;
    myEle.value = 'Study Archived';
    myEle.text = 'Study Archived';
    applyTimeList.add(myEle) ;
}

当我尝试访问服务器端的DropDownList时,我无法获得选择的值,它总是返回0作为索引:


int index = RuleApplyTimeDropDownList.SelectedIndex;

如何在修改后获取服务器端选择的值?

2 个答案:

答案 0 :(得分:2)

可以从DropDownList检索该值,因为客户端添加的值不在ViewState中。正确的方法是:


string selectedVal = Request[RuleApplyTimeDropDownList.UniqueID].

答案 1 :(得分:1)

你说你想要客户端的价值,

var applyTimeList = document.getElementById('clientid');
var value = applyTimeList.options[applyTimeList.selectedIndex].value;

但如果你的意思是服务器端,那么你需要从史蒂夫W所示的表格中选择它。