[精讚] [會員登入]
13725

[jQuery] checkbox 及 radio 設定值

jQuery 之 checkbox 及 radio 取值及設定值的方法

分享此文連結 //n.sfs.tw/10374

分享連結 [jQuery] checkbox 及 radio 設定值@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2022-04-16 01:55:37 最後編修
2016-12-05 10:15:08 By 張○○
 

自動目錄

這篇是精華,知道的人可以省你很多寶貴的時間

網路上如果搜尋 jquery radio / checkbox 取值,似乎找到的方法都不能用。以下是我試過失敗的寫法:

if($("#chk1").attr('checked')==undefined); <== X 不成功 checkbox 取值失敗
var item = $('input[@name=items][@checked]').val(); <== X 不成功 radio取值失敗,這樣會取出第一筆,無論筆是否有被選
$("input[@type=radio][@checked]").val(); <==也是失敗

checkbox 設定值

$("#chk1").attr("checked",''); //設定不打勾

$("#chk2").attr("checked",true); //設定打勾

$("#chk3").attr("checked",1); //設定打勾

Javascript

  如果變數本身(假設是this)是checkbox,

     this.checked = true;

checkbox 取值

var v=$("input[name='fetion']").is(":checked");

v="true"有被打勾,否則為 "false"

注意:使用 is 的方法得到的會是字串的 "true"/"false",而不是布林值。所以當你用 if(v) 這種方式來判斷的話,永遠為真

或是

var v=$("#fetion").is(":checked");

var v= (typeof($("input[name=_dis]:checked").val()) == "undefined" )? "0":"1";

直接用三元運算子得到 v值為0或1。

  Javascript

  如果this本身是checkbox
  那麼直接取值即可 this.checked 結果會是true/false

radio 賦值

$('input[name="sex"]')[1].checked = true; //radio 賦值==>第二個選項選取

$("input[name=state][value='2']").attr('checked',true); //radio 賦值==>值為2的那個選取

順便一提的,如果一個頁面有很多<input name="xxx" .... /> 的欄位,如果每個設定 id 再賦值顯然太累了,不如一行解決。

$("input[name=xxx]").val( 值 );

radio 取值

以下範例示範當使用者按下 submit ( id=sb1 ) 時的檢查動作,其中 radio 的 name=doway

$("#sb1").click(function(){
   var method =$("input[name='doway']:checked").val(); //radio 取值,注意寫法
   if( typeof(method) == "undefined"){    // 注意檢查完全沒有選取的寫法,這行是精華
   alert( "請選取操作方式!");
   return false;
}


原文 2009-10-24 22:13:02

END

你可能感興趣的文章

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

[Jquery] 複選的checkbox取值 遇到複選的checkbox該如何取值?

[Ckeditor4] 讀、寫與插入內容到欄位 Ckeditor4 提供非常多方法,可以插入、讀取和寫入到TEXTAREA中

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

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

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

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

[MAC] 截取螢幕畫面的方法 截取螢幕畫面的方法,在MAC中叫作螢幕快照,英文是screenshot

UTF-8 BOM (Byte Order Mark) 的問題 在 Michael Kaplan 那看到 Every character has a story #4: U+feff

[Freebsd] 使用 ADSL 撥接上網 Freebsd上要使用 ADSL 撥接上網,該如何設定?

設計的工作絕不接受比價 拿買陽春麵的價格想買牛肉麵,寧願倒掉也不賣

[MAC] 安裝APACHE+PHP OS Darwin OpenIDMac1deAir 15.6.0 Darwin Kernel Version 15.6.