[精讚] [會員登入]
18044

[jQuery] select 元件的取值及給值

html中的元件select,在jquery中要如何使用?

此文完整連結 http://n.sfs.tw/10047

複製連結 [jQuery] select 元件的取值及給值@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2017-11-16 10:45:12 最後編修
2016-10-18 20:43:08 By 張○○
 

html中的元件select,在jquery中要如何使用?

<select id="sfs" name="sfsname">
  <option value="1">第一項</option>
  <option value="2">第二項</option>
  <option value="3">第三項</option>
</select>

設定值

  $("#sfs")[0].selectedIndex = 0;   //設定第一個欄位選取,[0]一定要加

  $("#sfs")[0].selectedIndex = 1; //設定第二個選項選取則指定為1,以此類推。

  $("#sfs").val(3);  //設定值為3的選項被選取

取值

  var s= $("#sfs").val();

以name的屬性取得select物件
  var s=$("select[name='sfsname']").val();

取得選取值的文字 取得選取值的文字而非其值
  var txt=$("#sfs :selected").text();

取得第1個選項
  $("#sfs option:first").css("color","red");

未選取的 select 判斷

利用null來決定一個select是否為未選取
  if( $("#sfs").val() == null){ alert("null"); }

取回最大索引值(index)

select 中的 最大索引值就是選項數目+1,也可以-1來判斷所有的項目個數。

var maxIndex=$("#sfs option:last").attr("index");

如果是用觸發回傳的select,例如階層式選取區域ajax方法取回的select,選取指定select id也沒有用,這時只能由$(this)來下手:
maxIndex=$(this).children("option:last").attr('index');

在前後加入選

  $("#sfs").prepend(new Option('加一個選項在最前面,值為0,選取', 0, true));
  $("#sfs").append(new Option('加一個選項在最後面,值為1,不選取', 1, false));

清空所有選項

  $("#sfs").empty();

使用AJAX的JSON 方法取回資料庫的資料

若想在change 事件時,會用 AJAX的JSON格式取回資料,做法如下:

HTML

<select id="sfs" name="sfsname"> 
  <option value="1">第一項</option>
  <option value="2">第二項</option>
  <option value="3">第三項</option>
</select>
<!-- 先隱藏子層select元件 -->
<select id="sfs2" name="sfsname2" style="display:none;"> 
</select>

jQuery

$("#sfs").change(function(){;
  // 這裡的 provider.php 是自己撰寫的php碼,作用是自資料庫取得資料後回傳(印)一個 json格式的資料,p參數代入選單目前的值
  // 例如格式:
   $.getJSON('provider.php?p='+ $("#sfs").val(), 
  // data是json格式的資料,把這個資料寫入表單中
   function(data){
     $("#sfs2").css("display","inline"); //顯現
     ..加入選項..
   });
});

待完..


原文張貼於 2009-10-18 04:59:48 2014-11-23改寫 新精讚再次改寫

你可能感興趣的文章

[Javascript] 偵錯方式 (火狐中的javascript偵錯) javascript 並不是很容易偵錯(debug)的語言,但那是以前,現在有很多瀏覽器支持很多的工具,此文以火狐為例談談偵錯...

[jQuery] 利用load()來達成ajax的寫法 jQuery中利用load()來達成ajax的寫法,也有人稱他是假的ajax,作法就是..

Javascript/Jquery 建立、讀取、刪除cookie值 Javascript/Jquery 建立、讀取、刪除cookie值

Jquery 圖片放大的工具:放大鏡 想讓網頁上的圖片局部放大,有沒有簡單好用的 jquery?

[jQuery] select 元件的取值及給值 html中的元件select,在jquery中要如何使用?

[jQuery] textarea 的取值和給值 HTML 的 TEXTAREA 標籤若要用 jquery 取值,不能使用 .text() 或 .html() ,使用 .

[CKeditor4] 修改特殊字元 CKeditor4 中設定自己想用的特殊字元

[CKeditor4] 修改調色盤 修改ckeditor預設的調色盤

[Bootstrap] Datepicker使用/Bootstrap日期選日期選擇器的使用 Bootstrap日期選日期選擇器的使用

[Javascript] NaN是什麼? javascript 的NaN和取得整數

我有話要說


限制:留言最高字數1000字,超過部分會被截掉。請注意:留言不可帶有網址,會被濾掉。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

[jQuery] select 元件的取值及給值 html中的元件select,在jquery中要如何使用?

[Freebsd] 定時測試 ADSL 是否斷線並重連 中華電信 ADSL 雖有固定 ip,可是他卻會不定時「斷線」, 使用以下的 方法可以定時測試是否斷線,以及重新撥接。

[CodeIgniter3] 解決無法上傳特定檔案(.sb2)的問題 上傳時出現The filetype you are attempting to upload is not allowed,要怎麼解決?

外匯課程經驗 有天遇到某個朋友的正妹朋友,說她有個很棒的外匯投資課程,要我們去聽,只收場地費200大洋。她又說續效最差一個月也有1%,誰還在苦哈哈上班?

讓radio box 或checkbox 好按 在行動裝置下,radio box及checkbox變得很難按得到