menu
menu

キーワード検索

 

最近の投稿

チェックしたら有効になるリンク

  • Labs

jQuery

こんにちは(・∀・)

今回はラジオボタンやチェックボックスがチェックされたら有効になるリンクボタンのサンプルをご紹介します。

サンプル1・2・3はサファリ未対応です。

1. ラジオボタンのサンプル

ラジオボタンをチェックすると「Next」の文字が「Next →」になり、テキストリンクに変わります。

サンプルデモ



Next

HTML

Google Hosted LibrariesからjQuery 1.x snippetを<head>内に読み込みます。


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<p>
<input type="radio" class="demo1" name="demo1" id="demo1-1" autocomplete="off">
<label for="demo1-1">デモ1</label><br>
<input type="radio" class="demo1" name="demo1" id="demo1-2" autocomplete="off">
<label for="demo1-2">デモ2</label><br>
<input type="radio" class="demo1" name="demo1" id="demo1-3" autocomplete="off">
<label for="demo1-3">デモ3</label>
</p>
<p id="link1">Next</p>
CSS

.sample-demo #link1 {
	color: #999;
}
.sample-demo #link1 a {
	color: red;
}
JavaScript

$(function(){
$(".demo1").click(function(){
if(this.checked){
$("#link1").html("<a href='#'>Next →</a>");
} else {
$("#link1").html("Next");
};
});
});

ラジオボタンにチェックを入れないと「Next」のテキストリンクが有効になりません。次へ進むことができないのでチェックもれを防ぐことができます。

2. 複数チェックボックス用のサンプル

チェックボックスをチェックすると「Next」の文字が「Next →」になり、テキストリンクに変わります。

サンプルデモ



Next

HTML

Google Hosted LibrariesからjQuery 1.x snippetを<head>内に読み込みます。


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<p class="cb">
<input type="checkbox" class="demo2" name="demo2" id="demo2-1" autocomplete="off">
<label for="demo2-1">デモ1</label><br>
<input type="checkbox" class="demo2" name="demo2" id="demo2-2" autocomplete="off">
<label for="demo2-2">デモ2</label><br>
<input type="checkbox" class="demo2" name="demo2" id="demo2-3" autocomplete="off">
<label for="demo2-3">デモ3</label>
</p>
<p id="link2">Next</p>
CSS

.sample-demo #link2 {
	color: #999;
}
JavaScript

$(function(){
$(".demo2").click(function(){
var ck_count = $(".cb :checked").length;
if (ck_count == 0 ){
$("#link2").html("Next");
} else {
$("#link2").html("<a href='#'>Next →</a>");
}
});
});

チェックボックスにチェックを入れないと「Next」のテキストリンクが有効になりません。次へ進むことができないのでチェックもれを防ぐことができます。

3. 単一チェックボックス用のサンプル

こちらもチェックボックスのサンプルですが、2番のサンプルと違い、チェックボックスは一つなのでjQueryはもっとシンプルになります。よくある「~に同意したら次へ進む」的なページで使えると思います。こちらも同じくチェックボックスをチェックすると「送信」の文字がテキストリンクに変わります。

サンプルデモ

送信

HTML

Google Hosted LibrariesからjQuery 1.x snippetを<head>内に読み込みます。


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<p>
<input type="checkbox" id="demo3" autocomplete="off">
<label for="demo3">利用規約に同意します。</label>
</p>
<p id="link3">送信</p>
CSS

.sample-demo #link3 {
	color: #999;
}
.sample-demo #link3 a {
	color: #fff;
	background: #9fb7d4;
	padding: 3px 15px;
}
.sample-demo #link3 a:hover {
	background: #afc6e2;
}
JavaScript

$(function(){
$("#demo3").click(function(){
if (this.checked) {
$("#link3").html("<a href='#'>送信</a>");
} else {
$("#link3").html("送信");
}
});
});

こちらは単一のチェックボックス用のサンプルです。チェックボックスにチェックを入れないと「送信」のテキストリンクが有効になりません。次へ進むことができないので利用規約等、チェックを入れないと次に進めないようなページで使えると思います。

4. 単一チェックボックス用のサンプル(input要素)

こちらもチェックボックスのサンプルですが、3番のサンプルと違うのは、ボタンがinput要素になりJavaScriptもpropを使います。こちらも同じくチェックボックスをチェックするとinput要素の「送信」ボタンが有効になります。

サンプルデモ

サンプルデモはこちら

HTML

Google Hosted LibrariesからjQuery 1.x snippetを<head>内に読み込みます。


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<p class="demo">
<input type="checkbox" id="demo4" autocomplete="off">
<label for="demo4">利用規約に同意します。</label>
<input type="submit" id="link4" value="送信">
</p>
JavaScript

$(function(){
$("#link4").prop("disabled", true);
$("#demo4").click(function(){
if ($(this).prop("checked") == false) {
$("#link4").prop("disabled", true);
} else {
$("#link4").prop("disabled", false);
}
});
});

こちらも単一のチェックボックス用のサンプルです。チェックボックスにチェックを入れないとinput要素の「送信」ボタンが有効になりません。次へ進むことができないのでこちらも利用規約等、チェックを入れないと次に進めないようなページで使えると思います。

いかがでしたでしょうか、導入はとても簡単ですね。よろしければお試しください。

関連リンク

input要素【HTMLリファレンス】

  • カテゴリー:Labs