[jQuery]使用jQuery對 select 的操作

使用jQueryselect的操作方式有很多種,在此列出我個人常用的方式
1. 取得選擇項目的文字與值
/*—– 單選 —–*/
//  取得被選擇項目的文字
$(“#select”).find(“:selected”).text();
//  取得被選擇項目的值
$(“#select”).find(“:selected”).val();
/*—– 多選 —–*/
//  使用迴圈取得所有被選擇的項目
$(“#select”).find(“:selected”).each(function() {
    alert(this.text);    //  文字
    alert(this.value);   // 
});
2. 增加項目
$(“#select”).append($(“<option></option>”).attr(“value”, ““).text(“文字“));

$(“#select”).append(‘<option value=”‘++'”>’+文字+'</option>’);

3. 移除選擇的項目
//  移除選擇的項目
$(“#select”).find(“:selected”).remove();
//  移除全部的項目
$(“#select option”).remove();
4. 移除選擇項目後,防止捲軸移到最上面
//  先取得要移除項目的 index
var selectIndex = $(“#select”).find(“:selected”).index();
//  移除選擇的項目
$(“#select”).find(“:selected”).remove();
//  判斷移除項目後,原先的index是否還有option,有的話就直接將此option設定為選取狀態
//  捲軸就不會往上跑了
if ($(‘#select option’).get(selectIndex) != null) {
    $(‘#select option’).get(selectIndex).selected = true;
}
else {
    //  沒有項目的話,判斷select理是否還有option
    //  有的話,表示移除的項目為最後一個,就設定上一個option為選取狀態
    if ($(‘#select option’).length > 0) {
        $(‘#select option’).get(selectIndex – 1).selected = true;
    }

}

[……]

閱讀更多

jQuery 按Enter submit送出表單並清除系統音效

$(“#form”).keypress(function(event) { if (event.which == 13){ event.preventDefault(); $(this).submit(); } }); 加event.preventDefault();可清除瀏覽器Enter的預設事件~ 按下Enter送出表單時才不會觸發「噹」的系統音效~[……]

閱讀更多