1. 程式人生 > >表單中的高階用法

表單中的高階用法

下拉框:

<select id="selectID" >
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
</select>
下面是對下拉框的基本操作:
$(document).ready(function() {
        //繫結下拉框change事件,當下來框改變時呼叫 SelectChange()方法
        $("#selectID").change(function() { SelectChange(); }); 
        })
        function SelectChange() {
        //獲取下拉框選中項的text屬性值
        var selectText = $("#selectID").find("option:selected").text();
        alert(selectText);
        //獲取下拉框選中項的value屬性值
        var selectValue = $("#selectID").val();
        alert(selectValue);
        //獲取下拉框選中項的index屬性值
        var selectIndex = $("#selectID").get(0).selectedIndex;
        alert(selectIndex);
        ////獲取下拉框最大的index屬性值
        var selectMaxIndex = $("#selectID option:last").attr("index");
        alert(selectMaxIndex);
    }

    function aa() {
        //設定下拉框index屬性為5的選項 選中
        $("#selectID").get(0).selectedIndex = 5;  
    }
    function bb() {
        //設定下拉框value屬性為4的選項 選中
        $("#selectID").val(4);
    }
    function cc() {
        //設定下拉框text屬性為5的選項 選中
         $("#selectID option[text=5]").attr("selected", "selected");
         $("#yyt option:contains('5')").attr("selected", true);
    }
    function dd() {
        //在下拉框最後新增一個選項
        $("#selectID").append("<option value='7'>7</option>");
    }
    function ee() {
        //在下拉框最前新增一個選項
        $("#selectID").prepend("<option value='0'>0</option>")
    }
    function ff() {
        //移除下拉框最後一個選項
        $("#selectID option:last").remove();
    }

    function gg() {
        //移除下拉框 index屬性為1的選項
        $("#selectID option[index=1]").remove();
    }

    function hh() {
        //移除下拉框 value屬性為4的選項
        $("#selectID option[value=4]").remove();
    }
    function ii() {
        //移除下拉框 text屬性為5的選項
        $("#selectID option[text=5]").remove();
    }    

拓展內容:

如果在提交表單的時候,不想讓表單中的某個select的值被修改,卻又要將該select的value傳給後臺,那麼設定select為disable是不可以的,因為設定disable的表單項,使用jq序列化函式$form.serilize()是獲取不到其value的,有一個辦法如下:

<select name="Fund_id" id="modify-fund" onfocus="this.defaultIndex=this.selectedIndex;" onchange="this.selectedIndex=this.defaultIndex;"><option value="" selected="selected">請選擇</option></select>
同理表單中的input也是如此,如不想更改又要傳到後臺,辦法如下:
<input name="aaa" type="text"  readonly="readonly" />