1. 程式人生 > >JQuery 的幾個簡單實現示例

JQuery 的幾個簡單實現示例

幾種常見選擇器的練習例題 熟練使用JQuery操作表單元素

一、實現表格 隔行變色(例題都引入了css做表單的樣式設定)

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Untitled Document</title>
    <script type="text/javascript" src="script/jquery-1.7.2.js"></script>
    <script type="text/javascript">

     $(function(){
            //1. 點選所有的 p 節點, 能夠彈出其對應的文字內容
         $("p").click(function(){
            alert("^^["+this.innerHTML+"]");
        });
        //2. 使第一個 table 隔行變色(從第一行開始變)
         $("table:first tr:even").css("background-color","#00ff00");
        //2. 使二個 table 隔行變色(從第二行開始變)
         $("table:eq(1) tr:odd").css("background-color","#ff0000");
        //3. 點選 button, 彈出 checkbox 被選中的個數
        $("button").click(function(){
             alert($(":checked").length);
        });
     });

    </script>
</head>
<body>
    <p>段落1</p>
    <p>段落2</p>
    <p>段落3</p>

    <table>
        <tr>
            <td>第一行</td><td>第一行</td>
        </tr>
        <tr>
            <td>第二行</td><td>第二行</td>
        </tr>
        <tr>
            <td>第三行</td><td>第三行</td>
        </tr>
        <tr>
            <td>第四行</td><td>第四行</td>
        </tr>
        <tr>
            <td>第五行</td><td>第五行</td>
        </tr>
        <tr>
            <td>第六行</td><td>第六行</td>
        </tr>
    </table>
    <br/>
    <hr/>
    <table>
        <tr>
            <td>第一行</td><td>第一行</td>
        </tr>
        <tr>
            <td>第二行</td><td>第二行</td>
        </tr>
        <tr>
            <td>第三行</td><td>第三行</td>
        </tr>
        <tr>
            <td>第四行</td><td>第四行</td>
        </tr>
        <tr>
            <td>第五行</td><td>第五行</td>
        </tr>
        <tr>
            <td>第六行</td><td>第六行</td>
        </tr>
    </table>

    <input type="checkbox" name="test" />
    <input type="checkbox" name="test" />
    <input type="checkbox" name="test" />
    <input type="checkbox" name="test" />
    <input type="checkbox" name="test" />
    <input type="checkbox" name="test" />
    <button>您選中的個數</button>
</body>
</html>

效果如下:
這裡寫圖片描述

這裡寫圖片描述

二、checkbox實現全選 全不選 反選

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="../../script/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function(){
    //全選按鈕
    $("#checkedAllBtn").click(function(){
        $(":checkbox").prop("checked",true);
    });
    //全不選按鈕
    $("#checkedNoBtn").click(function(){
        $(":checkbox").prop("checked",false);
    });
    //反選按鈕
    $("#checkedRevBtn").click(function(){
        var $checkBox=$("input[name]");
        $checkBox.each(function(){
            this.checked=!this.checked;
        });

    $("#checkedAllBox").prop("checked",($("input[name]:checked").length==$("input[name]").length));
    });
    //提交按鈕
    $("#sendBtn").click(function(){
        var $checkBox=$("input[name]:checked");
        $checkBox.each(function(){
            alert(this.value);
        });
    });
    //全選/全不選 複選框
    $("#checkedAllBox").click(function(){
        $("input[name]").prop("checked",this.checked);
    });

    //全選/全不選複選框與items狀態同步
    $("input[name]").click(function(){
        $("#checkedAllBox").prop("checked",($("input[name]:checked").length==$("input[name]").length));
    });
});
</script>
</head>
<body>

<form method="post" action="">

    你愛好的運動是?<input type="checkbox" id="checkedAllBox" />全選/全不選 

    <br />
    <input type="checkbox" name="items" value="足球" />足球
    <input type="checkbox" name="items" value="籃球" />籃球
    <input type="checkbox" name="items" value="羽毛球" />羽毛球
    <input type="checkbox" name="items" value="乒乓球" />乒乓球
    <br />
    <input type="button" id="checkedAllBtn" value="全 選" />
    <input type="button" id="checkedNoBtn" value="全不選" />
    <input type="button" id="checkedRevBtn" value="反 選" />
    <input type="button" id="sendBtn" value="提 交" />
</form>

</body>
</html>

效果如下:
這裡寫圖片描述

這裡寫圖片描述

三、實現表單選擇

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>

<script type="text/javascript" src="../../script/jquery-1.7.2.js"></script>
<script type="text/javascript">
// 第一步,一定要先引入jquery檔案

// 第二步:書寫頁面載入完成之後
$(function() {
// 設定單選的下拉列表第三個被選中
//給第一個按鈕繫結單擊事件
$("input[type='button']:eq(0)").click(function(){
    $("#single").val(['s3']);
});
// 設定多選的下拉列表同時選中第二個和第四個
// 給第二個按鈕繫結單擊事件
$("input[type='button']:eq(1)").click(function(){
    $("#multiple").val(['x2','x4']);
});
// 給第三個按鈕繫結單擊事件
// 設定多選框的2號和4號被選中
$("input[type='button']:eq(2)").click(function(){
    $(":checkbox").val(['check2','check4']);
});
// 給第四個按鈕繫結單擊事件
// 設定單選框2號被選中
$("input[type='button']:eq(3)").click(function(){
    $(":radio").val(['radio2']);
});
//列印所有被選中的值 低五個按鈕
$("input[type='button']:eq(4)").click(function(){
    $(":checked").each(function(){
        alert(this.value);
    });
});

});
</script>
</head>
<body>
<input type="button" value="使單選下拉框的'選擇3號'被選中" />
<input type="button" value="使多選下拉框選中的'選擇2號'和'選擇4號'被選中" />
<br>
<input type="button" value="使多選框的'多選2'和'多選4'被選中" />
<input type="button" value="使單選框的'單選2'被選中" />
<br>
<input type="button" value="列印已經被選中的值">
<br>

<br />

<select id="single" name="singlecheck">
    <option value="s1">選擇1號</option>
    <option value="s2">選擇2號</option>
    <option value="s3">選擇3號</option>
</select>

<select id="multiple" multiple="multiple" name="multiplecheck"
    style="height: 120px;">
    <option selected="selected" value="x1">選擇1號</option>
    <option value="x2">選擇2號</option>
    <option value="x3">選擇3號</option>
    <option value="x4">選擇4號</option>
    <option selected="selected" value="x5">選擇5號</option>
</select>

<br />
<br />

<input type="checkbox" name="c" value="check1" /> 多選1
<input type="checkbox" name="c" value="check2" /> 多選2
<input type="checkbox" name="c" value="check3" /> 多選3
<input type="checkbox" name="c" value="check4" /> 多選4

<br />

<input type="radio" name="r" value="radio1" /> 單選1
<input type="radio" name="r" value="radio2" /> 單選2
<input type="radio" name="r" value="radio3" /> 單選3
</body>
</html>

效果如下:

這裡寫圖片描述

四、將下拉框左邊選中的移動到右邊 右邊選中的移動到左邊

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
    select {
        width: 100px;
        height: 140px;
    }

    div {
        width: 130px;
        float: left;
        text-align: center;
    }
</style>
<script type="text/javascript" src="script/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function(){
  $("button:eq(0)").click(function(){
       //獲取左邊的下拉框被選中的並移動選中的到右邊
       $("select[name='sel01']>option:selected").appendTo("select:eq(1)");
  });
        //獲取左邊的下拉框所有並移動所有到右邊
  $("button:eq(1)").click(function(){
      $("select:eq(0)>option").appendTo("select:eq(1)");
  }); 
  //獲取右邊的下拉框被選中的並移動選中的到左邊
  $("button:eq(2)").click(function(){
       $("select[name='sel02']>option:selected").appendTo("select:eq(0)");
  });
//獲取右邊的下拉框所有並移動到左邊
  $("button:eq(3)").click(function(){
      $("select:eq(1)>option").appendTo("select:eq(0)");
  }); 
});
</script>
</head>
<body>

<div id="left">
    <select multiple="multiple" name="sel01">
        <option value="opt01">選項1</option>
        <option value="opt02">選項2</option>
        <option value="opt03">選項3</option>
        <option value="opt04">選項4</option>
        <option value="opt05">選項5</option>
        <option value="opt06">選項6</option>
        <option value="opt07">選項7</option>
        <option value="opt08">選項8</option>
    </select>
    <button>選中新增到右邊</button>
    <button>全部新增到右邊</button>
</div>
<div id="rigth">
    <select multiple="multiple" name="sel02">
    </select>
    <button>選中刪除到左邊</button>
    <button>全部刪除到左邊</button>
</div>

</body>
</html>

效果如下:

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

五、新增或者從表格中刪除物件

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="styleB/css.css" />
<script type="text/javascript" src="../../script/jquery-1.7.2.js"></script>
<script type="text/javascript">
   $(function(){
   function deleteRow(){

     var $row=$(this).parent().parent();

     var name = $row.find("td").first().html();
     var result = confirm("你確定要 刪除 [" + name + "] 嗎?")          
//          alert(result);
        // 如果使用者點選了確認。就可以將所在行刪除
        if (result) {
            //remove方法將tr標籤從頁面中刪除
            $row.remove();
        } 
        // 阻止標籤的預設行為 
        return false;
    };

    $("a").click(deleteRow);

    $("#addEmpButton").click(function(){
        // 1.獲取文字框裡輸入的內容,name,email,salary
        var nameText = $("#empName").val();
        var emailText = $("#email").val();
        var salaryText = $("#salary").val();

// alert("姓名:" + nameText + ",郵件:" + emailText+",工資:" + salaryText);
        var $newTrObj = $("<tr><td>" + nameText +  "</td><td>" + emailText + "</td><td>" 
                + salaryText + "</td><td><a href='delete=1234'>" 
                + "Delete</a></td></tr>");
        // 把新建立的tr標籤物件新增到第一個table中
        $newTrObj.appendTo("#employeeTable");

        // 查詢最後一個建立的a標籤物件
        // $("a:last");

        // 通過當前行物件,查詢後代元素中a標籤物件
        $newTrObj.find("a").click(deleteRow);
    });
   });
</script>
</head>
<body>
<table id="employeeTable">
    <tr>
        <th>Name</th>
        <th>Email</th>
        <th>Salary</th>
        <th>&nbsp;</th>
    </tr>
    <tr>
        <td>Tom</td>
        <td>[email protected]</td>
        <td>5000</td>
        <td><a href="deleteEmp?id=001">Delete</a></td>
    </tr>
    <tr>
        <td>Jerry</td>
        <td>[email protected]</td>
        <td>8000</td>
        <td><a href="deleteEmp?id=002">Delete</a></td>
    </tr>
    <tr>
        <td>Bob</td>
        <td>[email protected]</td>
        <td>10000</td>
        <td><a href="deleteEmp?id=003">Delete</a></td>
    </tr>
</table>

<div id="formDiv">

    <h4>新增新員工</h4>

    <table>
        <tr>
            <td class="word">name: </td>
            <td class="inp">
                <input type="text" name="empName" id="empName" />
            </td>
        </tr>
        <tr>
            <td class="word">email: </td>
            <td class="inp">
                <input type="text" name="email" id="email" />
            </td>
        </tr>
        <tr>
            <td class="word">salary: </td>
            <td class="inp">
                <input type="text" name="salary" id="salary" />
            </td>
        </tr>
        <tr>
            <td colspan="2" align="center">
                <button id="addEmpButton" value="abc">
                    Submit
                </button>
            </td>
        </tr>
    </table>

</div>

</body>
</html>

效果如下:
這裡寫圖片描述

這裡寫圖片描述