就象地址选择一样。
第一个选择省之后,第二个就马上将可选的内容转为这个省所含有的“市”。
有这样的两个表。
表一                              表二
id   name                          id              name
1    四川                          1               成都
2    云南                          1               绵阳该怎么联系起来呢?

解决方案 »

  1.   

    先往第一个dropdownlist填入省,再写这个dropdownlist的SelectedIndexChanged事件,根据省值填第二个downlis,注意要将省的dropdownlist 的AutoPostBack=true
      

  2.   

    我是这样的想法
    第一个downlist里面选择的内容是省
    然后我得到它的id,再根据这个id来将内容选择出来,显示在第二个downlist里面
      

  3.   

    想用JS就用这个<script language='javascript'>
    var CriteriasValueQS =  GetCookie('QuickSearchCriteriait');if(CriteriasValueQS == null || CriteriasValueQS == ';')
    CriteriasValueQS = '';

    var KeywordQS = '';
    var LocationQS = '';
    var AreaQS = '';
    var ClassificationQS = '';
    var SubClassificationQS = '';
    var FunctionQS = '';
    var WorkTypeQS = '';
    var SpecialisationQS = '';
    var NotSpecifiedQS = '';
    var etSegment = 'it';var arrayCategoryQS = new Array;
    arrayCategoryQS =  CriteriasValueQS.split('~');
    for(mi=0;mi<arrayCategoryQS.length;mi++)
    {
    var tempArray = new Array;
    tempArray = arrayCategoryQS[mi].split('|');
    if (tempArray[0] == 'V') 
    {
    if(tempArray[1] != '2')
    CriteriasValueQS = null;
    }
    else if (tempArray[0] == 'K')
    KeywordQS = unescape(tempArray[1]).replace(/\+/g, ' ');
    else if (tempArray[0] == 'L')
    LocationQS = tempArray[1];
    else if (tempArray[0] == 'A') //TODO: multiple area
    AreaQS = tempArray[1].substring(0, tempArray[1].indexOf(':'));
    else if (tempArray[0] == 'I')
    ClassificationQS = tempArray[1];
    else if (tempArray[0] == 'O')
    SubClassificationQS = tempArray[1];
    else if (tempArray[0] == 'F')
    FunctionQS = tempArray[1];
    else if (tempArray[0] == 'W')
    WorkTypeQS = tempArray[1];
    else if (tempArray[0] == 'S')
    SpecialisationQS = tempArray[1];
    else if (tempArray[0] == 'CB')
    NotSpecifiedQS = tempArray[1];
    }function showClearQuickSearch()
    {
    var showClear = "false";
    var CriteriaArray = new Array("catlocation", "catarea", "catindustry", "catoccupation", "catfunction", "catworktype", "catspecialisation"); if (Find('Keywords'))
    {
    if (document.domain.indexOf("xtramsn") != -1 && etSegment != "uk")
    {
    if (Find('Keywords').value != "Keywords")
    {
    showClear = "true";
    }
    }
    else if (Find('Keywords').value != "")
    {
    showClear = "true";
    }
    }

    if (showClear == "false")
    {
    for(var i = 0; i < CriteriaArray.length; i++)
    {
    if (CriteriaArray[i] == "catlocation")
    {
    if (etSegment != "uk" && document.domain.indexOf("co.nz") != -1)
    {
    if (Find(CriteriaArray[i]) && Find(CriteriaArray[i]).value != 1017)
    {
    showClear = "true";
    break;
    }
    }
    else if (etSegment == "uk")
    {
    if (Find(CriteriaArray[i]) && Find(CriteriaArray[i]).value != 1027)
    {
    showClear = "true";
    break;
    }
    }
    else if (Find(CriteriaArray[i]) && Find(CriteriaArray[i]).value != 0)
    {
    showClear = "true";
    break;
    }
    }
    else
    {
    if (Find(CriteriaArray[i]) && Find(CriteriaArray[i]).value != 0)
    {
    showClear = "true";
    break;
    }
    }
    }
    }

    if (showClear == "true")
    {
    document.getElementById('clearsearch').style.visibility = 'visible';

    if (Find('Keywords'))
    Find('Keywords').focus();
    }
    }function DisplayLastQuickSearch()
    {
    if (KeywordQS != "")
    Find('Keywords').value = KeywordQS; if (LocationQS != "")
    {
    if (etSegment != "uk")
    {
    //'any nz' isnt a real classifier so it gets expanded out. we need to convert it back
    if ( LocationQS == '1018:1019:1020:1021:1022' )
    {
    Find('catlocation').value = '1017';
    }
    else

    Find('catlocation').value = LocationQS;
    } ValidateCategoryList('location',0,'area',true);
    }
    else
    {
    ValidateCategoryList('location',0,'',true);
    }
    }
    else
    {
    if (etSegment == "it" && document.domain.indexOf("co.nz") != -1)
    {
    Find('catlocation').selectedIndex = 0;
    }
    } if (AreaQS != "")
    {
    Find('catarea').value = AreaQS;
    ValidateCategoryList('area',0,'',false);
    }

    if (ClassificationQS != "" && etSegment != "it")
    {
    Find('catindustry').value = ClassificationQS;
    ValidateCategoryList('industry',0,'occupation',true);
    }

    if (SubClassificationQS != "")
    {
    Find('catoccupation').value = SubClassificationQS;
    ValidateCategoryList('occupation',0,'specialisation',true);
    }

    if (SpecialisationQS != "")
    {
    if (etSegment == "it")
    {
    var arraySpecialisationQS = new Array;
    arraySpecialisationQS =  SpecialisationQS.split(':');

    var arraycatSpecialisationLengthQS = new Array;
    arraycatSpecialisationLengthQS =  Find('catspecialisation');

    if (arraySpecialisationQS != "")
    {
    arraycatSpecialisationLengthQS.options[0].selected = false;

    if (Find('JobSearchBox_chkUnspecifiedspecialisation'))
    {
    Find('JobSearchBox_chkUnspecifiedspecialisation').disabled = false;
    }
    if (Find('ContentInclude_JobSearchBox_chkUnspecifiedspecialisation'))
    {
    Find('ContentInclude_JobSearchBox_chkUnspecifiedspecialisation').disabled = false;
    }
    }

    for(mi=0;mi<arraySpecialisationQS.length;mi++)
    {
    for(ni=0;ni<arraycatSpecialisationLengthQS.length;ni++)
    {
    if(arraySpecialisationQS[mi] == arraycatSpecialisationLengthQS.options[ni].value)
    {
    arraycatSpecialisationLengthQS.options[ni].selected = true;
    }
    }
    }
    }
    else
    {
    if (Find('catspecialisation') != null)
    Find('catspecialisation').value = SpecialisationQS;
    }
    } if (FunctionQS != "")
    {
    Find('catfunction').value = FunctionQS;
    ValidateCategoryList('function',0,'',false);
    } if (WorkTypeQS != "")
    {
    Find('catworktype').value = WorkTypeQS;
    ValidateCategoryList('worktype',0,'',false);
    }

    if (NotSpecifiedQS != "")
    {
    if (NotSpecifiedQS == "true")
    {
    if (Find('JobSearchBox_chkUnspecifiedspecialisation'))
    {
    Find('JobSearchBox_chkUnspecifiedspecialisation').checked = true;
    }
    if (Find('ContentInclude_JobSearchBox_chkUnspecifiedspecialisation'))
    {
    Find('ContentInclude_JobSearchBox_chkUnspecifiedspecialisation').checked = true;
    }
    }
    else
    {
    if (Find('JobSearchBox_chkUnspecifiedspecialisation'))
    {
    Find('JobSearchBox_chkUnspecifiedspecialisation').checked = false;
    }
    if (Find('ContentInclude_JobSearchBox_chkUnspecifiedspecialisation'))
    {
    Find('ContentInclude_JobSearchBox_chkUnspecifiedspecialisation').checked = false;
    }
    }
    }

    showClearQuickSearch();
    }function ClearQuickCookie()
    {
    document.domain = 'seek.com.au';
    document.cookie = 'QuickSearchCriteriait' +'=;expires=01/01/2005;domain=seek.com.au;path=/';
    document.getElementById('clearsearch').style.visibility = 'hidden';

    if (Find('Keywords'))
    {
    Find('Keywords').value = "";
    }

    if (Find('catlocation'))
    {
    if (document.domain.indexOf("co.nz") != -1 && etSegment != "uk")
    {
    Find('catlocation').selectedIndex = 1;
    }
    else
    {
    Find('catlocation').selectedIndex = 0;
    }

    if (etSegment == "exec")
    {
    ValidateCategoryList('location',0,'',false)
    }
    else
    {
    ValidateCategoryList('location',0,'area',true);
    }
    }

    if (Find('catindustry'))
    {
    Find('catindustry').selectedIndex = 0;
    ValidateCategoryList('industry',0,'occupation',true);
    }

    if (Find('catoccupation'))
    {
    if (etSegment != "main")
    {
    Find('catoccupation').selectedIndex = 0;
    }
    if (etSegment == "it")
    {
    ValidateCategoryList('occupation',0,'specialisation',true);
    }
    } if (Find('catfunction'))
    {
    Find('catfunction').selectedIndex = 0;
    } if (Find('catworktype'))
    {
    Find('catworktype').selectedIndex = 0;
    }
    } </script>