首頁 web前端 js教程 使用AngularJS處理單選框和複選框的簡單方法_AngularJS

使用AngularJS處理單選框和複選框的簡單方法_AngularJS

May 16, 2016 pm 03:53 PM
angularjs 表單

AngularJS對表單的處理相當簡單。在AngularJS使用雙向資料綁定方式進行表單驗證的時候,實質上它在幫我們進行表單處理。

使用複選框的例子很多,同時我們對它們的處理方式也有很多。這篇文章中我們將看一看把複選框和單選按鈕同資料變數綁定的方法和我們對它的處理方法。

建立Angular表單

在這篇文章裡,我們需要兩個檔案:index.html和app.js。 app.js用來保存所有的Angular程式碼(它不大),而index.html是動作運作的地方。首先我們創建AngularJS檔案。
 

// app.js
 
var formApp = angular.module('formApp', [])
 
  .controller('formController', function($scope) {
  
    // we will store our form data in this object
    $scope.formData = {};
     
  });
登入後複製

在這個文件裡,我們所做的就是創建Angular應用程式。其中我們也建立了一個控制器和一個用來保存所有表單資料的物件。

下面我們看看index.html文件,在這個文件裡,我們建立了表單,然後進行了資料綁定。我們使用了Bootstrap快速地對頁面進行佈局。
 

<-- index.html -->
<!DOCTYPE html>
<html>
<head>
 
  <!-- CSS -->
  <!-- load up bootstrap and add some spacing -->
  <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
  <style>
    body     { padding-top:50px; }
    form      { margin-bottom:50px; }
  </style>
 
  <!-- JS -->
  <!-- load up angular and our custom script -->
  <script src="http://code.angularjs.org/1.2.13/angular.js"></script>
  <script src="app.js"></script>
</head>
 
<!-- apply our angular app and controller -->
<body ng-app="formApp" ng-controller="formController">
<div class="col-xs-12 col-sm-10 col-sm-offset-1">
 
  <h2>Angular Checkboxes and Radio Buttons</h2>
 
  <form>
   
    <!-- NAME INPUT -->
    <div class="form-group">
      <label>Name</label>
      <input type="text" class="form-control" name="name" ng-model="formData.name">
    </div>
     
    <!-- =============================================== -->
    <!-- ALL OUR CHECKBOXES AND RADIO BOXES WILL GO HERE -->
    <!-- =============================================== -->
     
    <!-- SUBMIT BUTTON (DOESNT DO ANYTHING) -->
    <button type="submit" class="btn btn-danger btn-lg">Send Away!</button>
     
  </form>
   
  <!-- SHOW OFF OUR FORMDATA OBJECT -->
  <h2>Sample Form Object</h2>
  <pre class="brush:php;toolbar:false">
    {{ formData }}
  
登入後複製

創建完成之後,我們就有了具有name輸入的表單了。如果一切都按照我們設想的運行,那麼如果你在name輸入中鍵入內容,那麼你應當可在下面的

標籤段看到所輸入的內容了.<br />
 <br />
<strong>複選框</strong></p>
<p>在表單裡,複選框非常普遍。下面我們將看看Angular是怎麼使用ngModel實作資料綁定的。如果有許多複選框,那麼有時在把它綁定到物件的時候如何進行資料處理會讓人不知所措。 </p>
<p>在我們所建立的formData物件的內部,我們也建立了另一個物件。我們稱它為favoriteColors,它請求使用者選擇最喜歡的顏色:<br />
 <br />
</p>
<div class="jb51code">
<pre class='brush:php;toolbar:false;'>
<!-- MULTIPLE CHECKBOXES -->
<label>Favorite Colors</label>
<div class="form-group">
  <label class="checkbox-inline">
    <input type="checkbox" name="favoriteColors" ng-model="formData.favoriteColors.red"> Red
  </label>
  <label class="checkbox-inline">
    <input type="checkbox" name="favoriteColors" ng-model="formData.favoriteColors.blue"> Blue
  </label>
  <label class="checkbox-inline">
    <input type="checkbox" name="favoriteColors" ng-model="formData.favoriteColors.green"> Green
  </label>
</div>
登入後複製

當使用者點擊上方複選框中的任一個時,他們立刻看到formData物件發生了變更。我們把複選框的值儲存到fromData.favoriteColors物件裡。這樣我們就把複選框的值傳給了伺服器了。

複選框點選處理

有時候,當某人點擊了複選框後,你需要對其進行處理。你需要做的處理可能如下:計算某個值,更改某些變數或進行資料綁定。要實作這些,你要使用$scope.yourFunction = function() {};在app.js內建立函數。接著你就可以在的的複選框上使用ng-click="yourFunction()"來呼叫這個函數了。

處理表單複選框的方法有許多種,Angular提供了一個非常簡單的方法:使用ng-click呼叫使用者自訂的函數。

自訂複選框對應的值

預設情況下,綁定到複選框上的值是ture或false。有時候,我們希望傳回的其它值。 Angular提供了一個非常好的處理方式:使用ng-ture-value和ng-false-value。

我們加入另外一組複選框,不過這時侯我們使用的不再是true或false,而是使用者自訂的值。
 

<!-- CUSTOM VALUE CHECKBOXES -->
<label>Personal Question</label>
<div class="checkbox">
  <label>
    <input type="checkbox" name="awesome" ng-model="formData.awesome" ng-true-value="ofCourse" ng-false-value="iWish">
    Are you awesome&#63;
  </label>
</div>
登入後複製

另外,現在我們還在formData物件裡增加了一個awesome變數。如果此時設定這個值為true,那麼傳回的值應該是ofCourse,如果設定為false,那麼傳回的值為iWish。

複選框

依據 官方說明文件, 這是和單選框不同之處:
 

<input type="radio"
  ng-model="string"
  value="string"
  [name="string"]
  [ng-change="string"]
  ng-value="string">
登入後複製

需要了解更多有關複選框的信息,請關注Angular 複選框說明文檔.
單選按鈕

單選按鈕比複選框容易些,就在於無需存儲多選項數據. 單選就是一個值. 下面添加一個單選按鈕看看.
 

<!-- RADIO BUTTONS -->
<label>Chicken or the Egg&#63;</label>
<div class="form-group">
  <div class="radio">
    <label>
      <input type="radio" name="chickenEgg" value="chicken" ng-model="formData.chickenEgg">
      Chicken
    </label>
  </div>
  <div class="radio">
    <label>
      <input type="radio" name="chickenEgg" value="egg" ng-model="formData.chickenEgg">
      Egg
    </label>
  </div>
</div>
登入後複製

就像這樣,單選按鈕就綁定到資料物件了.

單選按鈕用法

根據 官方文件, 這是提供的選項:
 

<input type="radio"
    ng-model="string"
    value="string"
    [name="string"]
    [ng-change="string"]
    ng-value="string">
登入後複製

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1317
25
PHP教程
1268
29
C# 教程
1242
24
如何實現PHP表單提交後的頁面跳轉 如何實現PHP表單提交後的頁面跳轉 Aug 12, 2023 am 11:30 AM

如何實現PHP表單提交後的頁面跳轉【簡介】在Web開發中,表單的提交是一項常見的功能需求。當使用者填寫完表單並點擊提交按鈕後,通常需要將表單資料傳送至伺服器進行處理,並在處理完後將使用者重新導向至另一個頁面。本文將介紹如何使用PHP來實現表單提交後的頁面跳躍。 【步驟一:HTML表單】首先,我們需要在HTML頁面中撰寫一個包含表單的頁面,以便使用者填寫需要提交的資料。

如何使用 JavaScript 實作表單的輸入框內容自動提示功能? 如何使用 JavaScript 實作表單的輸入框內容自動提示功能? Oct 20, 2023 pm 04:01 PM

如何使用JavaScript實作表單的輸入框內容自動提示功能?簡介:表單的輸入框內容自動提示功能在網頁應用程式中非常常見,它可以幫助使用者快速輸入正確的內容。本文將介紹如何使用JavaScript實作此功能,並提供具體的程式碼範例。在建立HTML結構首先,我們需要建立一個包含輸入框和自動提示清單的HTML結構。可以使用以下程式碼:&lt;!DOCTYP

如何處理PHP表單中的使用者權限管理 如何處理PHP表單中的使用者權限管理 Aug 10, 2023 pm 01:06 PM

如何處理PHP表單中的使用者權限管理隨著Web應用程式的不斷發展,使用者權限管理是重要的功能之一。使用者權限管理可以控制使用者在應用程式中的操作權限,確保資料的安全性和合法性。在PHP表單中,使用者權限管理可以透過一些簡單的程式碼來實現。本文將介紹如何處理PHP表單中的使用者權限管理,並給予對應的程式碼範例。一、使用者角色的定義與管理首先,將使用者角色定義與管理是使用者權

如何使用 JavaScript 實作表單的輸入框內容即時校驗功能? 如何使用 JavaScript 實作表單的輸入框內容即時校驗功能? Oct 18, 2023 am 08:47 AM

如何使用JavaScript實作表單的輸入框內容即時校驗功能?在許多網頁應用程式中,表單是使用者與系統之間最常用的互動方式。然而,使用者輸入的內容往往需要進行有效性校驗,以確保資料的準確性和完整性。在這篇文章中,我們將學習如何使用JavaScript實作表單的輸入框內容即時校驗功能,並提供具體的程式碼範例。在建立表單首先,我們需要在HTML中建立一個簡單的表

如何使用HTML、CSS和jQuery實現表單自動保存的進階功能 如何使用HTML、CSS和jQuery實現表單自動保存的進階功能 Oct 28, 2023 am 08:20 AM

如何使用HTML、CSS和jQuery實現表單自動保存的高級功能在現代網頁應用中,表單是非常常見的元素之一。當使用者在輸入表單資料時,如何能夠實現自動儲存的功能,不僅可以提高使用者的使用體驗,也能確保資料的安全性。本文將介紹如何使用HTML、CSS和jQuery來實作表單的自動儲存功能,並附上具體的程式碼範例。一、HTML表單的結構建構我們先來建立一個簡單的HT

PHP表單處理:表單資料查詢與篩選 PHP表單處理:表單資料查詢與篩選 Aug 07, 2023 pm 06:17 PM

PHP表單處理:表單資料查詢與篩選引言在網路開發中,表單是一種重要的互動方式,使用者可以透過表單向伺服器提交資料並進行進一步的處理。本文將介紹如何使用PHP處理表單資料的查詢與篩選功能。表單的設計與提交首先,我們需要設計一個包含查詢與篩選功能的表單。常見的表單元素包括輸入框、下拉清單、單選框、複選框等,根據具體需求進行設計。用戶在提交表單時,會將資料以POS

2022年最新5款的angularjs教學從入門到精通 2022年最新5款的angularjs教學從入門到精通 Jun 15, 2017 pm 05:50 PM

Javascript 是一個非常有個性的語言. 無論是從程式碼的組織, 還是程式碼的程式設計範式, 或物件導向理論都獨具一格. 而很早就在爭論的Javascript 是不是物件導向語言這個問題, 顯然已有答案. 但是, 即使Javascript 叱吒風雲二十年, 如果想要看懂jQuery, Angularjs, 甚至是React 等流行框架, 觀看《黑馬雲課堂JavaScript 高級框架設計視頻教程》就對了。

Laravel表單類別使用技巧:提高效率的方法 Laravel表單類別使用技巧:提高效率的方法 Mar 11, 2024 pm 12:51 PM

在編寫網站或應用程式時,表單是不可或缺的一部分。 Laravel作為一個流行的PHP框架,提供了豐富而強大的表單類,使得表單處理變得更加簡單和高效。本文將介紹一些Laravel表單類別的使用技巧,幫助你提升開發效率。下面透過具體的程式碼範例來詳細講解。建立表單要在Laravel中建立表單,首先需要在檢視中編寫對應的HTML表單。在處理表單時,可以使用Laravel

See all articles