teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

別にpropをつかわなくてもよかった箇所を修正

2017/04/12 09:21

投稿

ku__ra__ge
ku__ra__ge

スコア4524

answer CHANGED
@@ -9,14 +9,14 @@
9
9
  function savePreChecked(name) {
10
10
  var selector = "input:radio";
11
11
  if (name) { selector += "[name='" + name + "']"; }
12
- $(selector).each(function(){ $(this).prop("preChecked", $(this).prop("checked")); });
12
+ $(selector).each(function(){ this.preChecked = this.checked; });
13
13
  }
14
14
 
15
15
  $(function() {
16
16
  savePreChecked();
17
17
  $("input:radio").on("click", function() {
18
- if ($(this).prop("preChecked") == true) {
18
+ if (this.preChecked == true) {
19
- $(this).prop('checked', false);
19
+ this.checked = false;
20
20
  }
21
21
  savePreChecked(this.name);
22
22
  });

1

重くなるという懸念に対応

2017/04/12 09:21

投稿

ku__ra__ge
ku__ra__ge

スコア4524

answer CHANGED
@@ -6,8 +6,10 @@
6
6
  <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
7
7
  <script>
8
8
 
9
- function savePreChecked() {
9
+ function savePreChecked(name) {
10
+ var selector = "input:radio";
11
+ if (name) { selector += "[name='" + name + "']"; }
10
- $("input:radio").each(function(){ $(this).prop("preChecked", $(this).prop("checked")); });
12
+ $(selector).each(function(){ $(this).prop("preChecked", $(this).prop("checked")); });
11
13
  }
12
14
 
13
15
  $(function() {
@@ -16,7 +18,7 @@
16
18
  if ($(this).prop("preChecked") == true) {
17
19
  $(this).prop('checked', false);
18
20
  }
19
- savePreChecked();
21
+ savePreChecked(this.name);
20
22
  });
21
23
  });
22
24