jquery-editable-select設置顯示默認選項


可編輯的select下拉框控件這篇博文中使用到了jquery-editable-select控件,這個控件既可以手動輸入也可以用於下拉選擇,類似MFC中的combobx控件,在特定場景下非常方便。

下面將分享“如何解決頁面加載時設置默認的顯示選項”。

HTML結構

下面是html代碼,說明了select元素信息和option內容。

<div class="row-fluid">
    <div class="span7">
        <label for="edit_id">可編輯的下拉選擇控件</label>
        <select id="edit_id">
            <option value="BMW">BMW</option>
            <option value="Form">Form</option>
            <option value="Audi">Audi</option>
        </select>       
    </div>
</div>

如果是一般的select元素,以上html代碼就可以完成;如果為了達到可編輯的效果,需要增加如下的JavaScript初始化代碼:

$(document).ready(function() { 
    //初始化控件
    $('#edit_id').editableSelect({ 
        filter: false ,
    });
})

設置默認值

對於一般的select元素,設置默認顯示選項有兩種方法:
方法一:
通過val()方法設置表單字段的值,JS代碼如下:

$("#edit_id").val("Audi");

方法二:
通過設置option元素的selected屬性,JS代碼如下:

$("#edit_id > option[value="Audi"+]).attr("selected",true);

但對於可編輯的select元素,只能采用方法二;需要注意的是,如果我們的option項是動態添加的,需要按照以下步驟進行:

  1. 動態添加option內容
  2. 設置option元素的selected屬性
  3. 調用實例化控件函數

完整代碼:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <!-- 引入css樣式表-->
    <link rel="stylesheet" href="../PLugin/jquery-editable-select.css">
</head>
<body>
    <div class="row-fluid">
        <div class="span7">
            <label for="edit_id">可編輯的下拉選擇控件</label>
            <select id="edit_id">
                <option value="BMW">BMW</option>
                <option value="Form">Form</option>
                <option value="Audi">Audi</option>
            </select>       
        </div>
    </div>

    <!--引入jquery庫和jquery-editable-select.js文件-->
    <script type="text/javascript" src="../jquery/jquery-3.2.1.js"></script>
    <script type="text/javascript" src="../plugin/jquery-editable-select.js"></script>
    <script type="text/javascript"> $(document).ready(function() { //設置selected屬性,需要在初始化控件前完成 setSelectedOption("#edit_id", "Audi"); //$("#edit_id").val("Audi");不生效 //初始化控件 $('#edit_id').editableSelect({ filter: false , }); }) //設置頁面初始化時的選項 function setSelectedOption(selector, value){ if (value.length !=0) { $(selector +" > option[value='"+value+"']").attr("selected",true); } } </script>
</body>
</html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM