function RefreshData()
{
InitRight(document.all.txtRight.value, document.all.sltRight, "");
InitRight(document.all.txtAllRight.value, document.all.sltAllRight, document.all.ddlRightType.value);
}function InitRight(str, obj, type)
{
         var aValue = new Array();
var i, j, k, m, flag; aValue = str.split("$^"); j = aValue.length;
k = 0;
obj.options.length = (j - (j % 3)) / 3; for(i=0;i<j;i+=3)
{
if(j < 3)
break; if(type != "") 
{
flag = true;
if(aValue[i] != type)
{
if (obj.options.length > 0)
obj.options.length = obj.options.length - 1;
continue;
}for(m=0;m<document.all.sltRight.options.length;m++)
{
if(document.all.sltRight.options[m].value == aValue[i+1])
{
if (obj.options.length > 0)
obj.options.length = obj.options.length - 1;
flag = false;
   continue;
}
} if(flag == false)
{
continue;
}
} obj.options[k].value = aValue[i+1];
obj.options[k].text = aValue[i+2];
k += 1;
}
}

解决方案 »

  1.   

    这是不是一个textbox 一个<select></select>,在<select>下拉项增加或删除textbox的值的?
      

  2.   

    function InitRight(str, obj, type)
    {
             var aValue = new Array();
    var i, j, k, m, flag;
             //字符串拆分,赋予数据aValue
    aValue = str.split("$^");
             //数组长度
    j = aValue.length;
    k = 0;
             //j除以3,取最小正整数
    obj.options.length = (j - (j % 3)) / 3;
             //for循环实现在<select>下拉项增加或删除数组aValue各项的值
    for(i=0;i<j;i+=3)
    {
                      
    if(j < 3)
    break;
                       
    if(type != "") 
    {
    flag = true;
    if(aValue[i] != type)
    {
    if (obj.options.length > 0)
    obj.options.length = obj.options.length - 1;
    continue;
    }for(m=0;m<document.all.sltRight.options.length;m++)
    {
    if(document.all.sltRight.options[m].value == aValue[i+1])
    {
    if (obj.options.length > 0)
    obj.options.length = obj.options.length - 1;
    flag = false;
       continue;
    }
    } if(flag == false)
    {
    continue;
    }
    } obj.options[k].value = aValue[i+1];
    obj.options[k].text = aValue[i+2];
    k += 1;
    }
    }