<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-17  評論-64  文章-79  trackbacks-1
    這篇文章,主要是關于javascript和select相關的最基本方法,以供不熟悉javascript的人參考。常見的情況是,提出表單結構的人, 不僅僅需要為程序設計邏輯,創建數據結構,還需要設計表單的樣式,以及熟悉javascript;某些公司可能會要求您精通photoshop:最初的時 候,我們都是全才。

    下面是我們例子的基礎;這不是一個標準的表單。

    下面是我們例子的基礎;這不是一個標準的表單。

    <form id="f">
    <select size="1" name="s">
    <option value="aspxuexi.com">asp學習網</option>
    <option value="baidu.com">百度</option>
    </select>
    </form>

    ---------------------------------------------------------------------------

    <script type="text/javascript">
    <!--
    var f = document.getElementById("f");

    //獲得select列表項數目
    document.write(f.s.options.length);
    document.write(f.s.length);

    //當前選中項的下標(從0 開始)(有兩種方法)
    //如果選擇了多項,則返回第一個選中項的下標
    document.write(f.s.options.selectedIndex);
    document.write(f.s.selectedIndex);

    //檢測某一項是否被選中
    document.write(f.s.options[0].selected);

    //獲得某一項的值和文字
    document.write(f.s.options[0].value);
    document.write(f.s.options[1].text);

    //刪除某一項
    f.s.options[1] = null;

    //追加一項
    f.s.options[f.s.options.length] = new Option("追加的text", "追加的value");

    //更改一項
    f.s.options[1] = new Option("更改的text", "更改的value");
    //也可以直接設置該項的 text 和 value
    //-->
    </script>


    //全選列表中的項
    function SelectAllOption(list)
    {
    for (var i=0; i<list.options.length; i++)
    {
    list.options[i].selected = true;
    }
    }


    //反選列表中的項 by aspxuexi.com asp學習網
    function DeSelectOptions(list)
    {
    for (var i=0; i<list.options.length; i++)
    {
    list.options[i].selected = !list.options[i].selected;
    }
    }


    //返回列表中選擇項數目
    function GetSelectedOptionsCnt(list)
    {
    var cnt = 0;
    var i = 0;
    for (i=0; i<list.options.length; i++)
    {
    if (list.options[i].selected)
    {
    cnt++;
    }
    }

    return cnt;
    }


    //清空列表
    function ClearList(list)
    {
    while (list.options.length > 0)
    {
    list.options[0] = null;
    }
    }


    //刪除列表選中項
    //返回刪除項的數量
    function DelSelectedOptions(list)
    {
    var i = 0;
    var deletedCnt = 0;
    while (i < list.options.length)
    {
    if (list.options[i].selected)
    {
    list.options[i] = null;
    deletedCnt++;
    }
    else
    {
    i++;
    }
    }

    return deletedCnt;
    }
    //此函數查找相應的項是否存在
    //repeatCheck是否進行重復性檢查
    //若為"v",按值進行重復值檢查
    //若為"t",按文字進行重復值檢查
    //若為"vt",按值和文字進行重復值檢查
    //其它值,不進行重復性檢查,返回false
    function OptionExists(list, optText, optValue, repeatCheck)
    {
    var i = 0;
    var find = false;

    if (repeatCheck == "v")
    {
    //按值進行重復值檢查
    for (i=0; i<list.options.length; i++)
    {
    if (list.options[i].value == optValue)
    {
    find = true;
    break;
    }
    }
    }
    else if (repeatCheck == "t")
    {
    //按文字進行重復檢查
    for (i=0; i<list.options.length; i++)
    {
    if (list.options[i].text == optText)
    {
    find = true;
    break;
    }
    }
    }
    else if (repeatCheck == "vt")
    {
    //按值和文字進行重復檢查
    for (i=0; i<list.options.length; i++)
    {
    if ((list.options[i].value == optValue) && (list.options[i].text == optText))
    {
    find = true;
    break;
    }
    }
    }

    return find;
    }


    //向列表中追加一個項
    //list 是要追加的列表
    //optText 和 optValue 分別表示項的文字和值
    //repeatCheck 是否進行重復性檢查,參見 OptionExists
    //添加成功返回 true,失敗返回 false
    function AppendOption(list, optText, optValue, repeatCheck)
    {
    if (!OptionExists(list, optText, optValue, repeatCheck))
    {
    list.options[list.options.length] = new Option(optText, optValue);
    return true;
    }
    else
    {
    return false;
    }
    }


    //插入項
    //index 插入位置,當插入位置 >= 列表現有項數量時,其作用相當于不進行重復檢查的追加項
    //optText 和 optValue 分別表示項的文字和值
    function InsertOption(list, index, optText, optValue)
    {
    var i = 0;
    for (i=list.options.length; i>index; i--)
    {
    list.options[i] = new Option(list.options[i-1].text, list.options[i-1].value);
    }

    list.options[index] = new Option(optText, optValue);
    }
    //將一個列表中的項導到另一個列表中
    //repeatCheck是否進行重復性檢查,參見OptionExists
    //deleteSource項導到目標后,是否刪除源列表中的項
    //返回影響的項數量
    function ListToList(sList, dList, repeatCheck, deleteSource)
    {
    //所影響的行數
    var lines = 0;
    var i = 0;
    while (i<sList.options.length)
    {
    if (sList.options[i].selected && AppendOption(dList, sList.options[i].text, sList.options[i].value, repeatCheck))
    {
    //添加成功
    lines++;
    if (deleteSource)
    {
    //刪除源列表中的項
    sList.options[i] = null;
    }
    else
    {
    i++;
    }
    }
    else
    {
    i++;
    }
    }

    return lines;
    }


    //列表中選中項上移
    function MoveSelectedOptionsUp(list)
    {
    var i = 0;
    var value = "";
    var text = "";
    for (i=0; i<(list.options.length-1); i++)
    {
    if (!list.options[i].selected && list.options[i+1].selected)
    {
    value = list.options[i].value;
    text = list.options[i].text;
    list.options[i] = new Option(list.options[i+1].text, list.options[i+1].value);
    list.options[i].selected = true;
    list.options[i+1] = new Option(text, value);
    }
    }
    }


    //列表中選中項下移
    function MoveSelectedOptionsDown(list)
    {
    var i = 0;
    var value = "";
    var text = "";
    for (i=list.options.length-1; i>0; i--)
    {

    //www.aspxuexi.com
    if (!list.options[i].selected && list.options[i-1].selected)
    {
    value = list.options[i].value;
    text = list.options[i].text;
    list.options[i] = new Option(list.options[i-1].text, list.options[i-1].value);
    list.options[i].selected = true;
    list.options[i-1] = new Option(text, value);
    }
    }


     
    posted on 2007-10-24 10:37 飛鳥 閱讀(676) 評論(1)  編輯  收藏 所屬分類: AJAX

    評論:
    # javascript對下拉列表框(select)的操作 [TrackBack] 2007-12-22 10:28 | 張輝
    這篇文章,主要是關于javascript和select相關的最基本方法,以供不熟悉javascript的人參考。常見的情況是,提出表單結構的人,不僅僅需要為程序設計邏輯,創建數據結構,還需要設計表單...
    [引用提示]張輝引用了該文章, 地址: http://www.cnweblog.com/maomao2008/archive/2007/12/22/267170.html  回復  更多評論
      
    主站蜘蛛池模板: 亚洲精品国产综合久久一线| 日韩视频在线免费观看| 亚洲AV中文无码字幕色三| 麻豆va在线精品免费播放| 五月婷婷亚洲综合| 免费人成大片在线观看播放| 亚洲精品国产精品乱码不卡| 本免费AV无码专区一区| 亚洲国产精品无码久久一区二区 | 亚洲另类激情综合偷自拍图| 国产JIZZ中国JIZZ免费看| 国产av无码专区亚洲国产精品| 久草免费福利在线| 日韩亚洲一区二区三区| 亚洲视频免费在线观看| 亚洲1234区乱码| 四虎永久成人免费影院域名| 无人视频在线观看免费播放影院| 亚洲精品专区在线观看| 中文无码成人免费视频在线观看 | 亚洲AV无码国产精品色| 黄a大片av永久免费| 人人鲁免费播放视频人人香蕉| 中文字幕亚洲一区二区va在线| 无码精品人妻一区二区三区免费看 | 亚洲免费一级视频| 亚洲精品无码久久久久YW| 内射无码专区久久亚洲| 免费一级毛片在线播放视频| 亚洲欧洲自拍拍偷综合| 国产免费无遮挡精品视频| 中文在线观看免费网站| 亚洲国产成人久久| 亚洲欧洲久久久精品| 69影院毛片免费观看视频在线| 亚洲av无码成人影院一区| 中文字幕精品亚洲无线码一区 | 18禁无遮挡无码网站免费| 羞羞视频免费观看| 水蜜桃亚洲一二三四在线| 日韩高清在线免费看|