以下の~~文を実行すると、、、~~関数があります。
js
1function checkedValues() { 2 var values = $('input:checkbox:checked').map(function() { 3 return $(this).val() 4 }); 5 return values 6}
chrome の console には以下のように表示されます。
この関数を実行している画面で Chrome console を開き、関数を直接入力して実行すると以下のように表示されました。
E.fn.init ["999", prevObject: E.fn.init(1)]
キャプチャは以下の通り
なぜ、普通の配列じゃないのでしょうか? またこのオブジェクト(?)は何ですか? map
使うとこうなる?
尚、該当ソースの抜粋は以下の通りです。
html
1<input type="checkbox" name="hoge" id="hoge" value="267" /> 2<label for="hoge">hoge</label> 3 4<br> 5 6<input type="checkbox" name="fuga" id="fuga" value="888" /> 7<label for="fuga">fuga</label> 8 9<script> 10 function checkedValues() { 11 var values = $('input:checkbox:checked').map(function() { 12 return $(this).val() 13 }); 14 return values 15 } 16 17 function enableLink(b) { 18 if (b) { 19 $('#link').removeClass("disabled") 20 } else { 21 $('#link').addClass("disabled") 22 } 23 } 24 25 function setLinkState() { 26 var ids = checkedValues() 27 enableLink(ids.length > 0) 28 } 29 jQuery(function($) { 30 $('input:checkbox').click(function() { 31 setLinkState() 32 }) 33 setLinkState() 34 }) 35</script>
回答1件
あなたの回答
tips
プレビュー