質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

4回答

1945閲覧

jQuery オブジェクトをアロー関数でループする

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2018/09/07 10:48

編集2018/09/07 10:48
let str = ''; $('#checklist input:checked').each((_, e) => { console.log(e); str += e.val() + ','; });

上記のようなあるブロック以下のチェックされてるチェックボックスの value をカンマ区切り文字列で取得するコードをかいてみたんですが

Uncaught TypeError: e.val is not a function

とエラーが出ます

デバッグ出力をいれてみたところ確かに e にはチェックボックスの HTML が入っているのですが
each を通すと .val() は使えなくなるのでしょうか

チェックボックスの value を val() で取得するブログはたくさんでてくるのですが
function と $(this) で取得している記事ばかりでアロー関数のみで取り出す方法がわかりません

https://qiita.com/shibukawa/items/19ab5c381bbb2e09d0d9

のサイトで function よりアロー関数でかくのが最近の主流ときいたのでそういうコーディングになれようとしてるのですが
jQuery にあまりなれていないのでどうすればいいのかわからないのでお知恵をお貸しください

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

eachをつかってカンマをつなぐのはちょっと冗長ですね

javascript

1<script> 2$(function(){ 3 $('#btn').on('click',()=>{ 4 let str=$('#checklist input:checked').map((_,e)=>{ 5 return $(e).val(); 6 }).get().join(','); 7 console.log(str); 8 }); 9}); 10</script> 11 12<div id="checklist"> 13<input type="checkbox" value="1" checked><br> 14<input type="checkbox" value="2"><br> 15<input type="checkbox" value="3" checked><br> 16<input type="checkbox" value="4"><br> 17<input type="checkbox" value="5" checked><br> 18<input type="button" id="btn" value="check"> 19</div>

投稿2018/09/07 11:07

yambejp

総合スコア114839

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/09/10 09:04

なるほどです , をつけるところもマップでかけるんですね 参考になります…
guest

0

ベストアンサー

$(e).val() でいけます

投稿2018/09/07 10:53

set0gut1

総合スコア2413

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/09/10 09:04

ありがとうございます いけました!
guest

0

どうぞ。

【アロー関数をjQueryのonメソッドとeachメソッドで使う場合のthis | WEBMAN】
https://webman-japan.com/memo/arrowfunction-use-to-jquery/

投稿2018/09/07 10:52

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/09/10 09:05

ありがとうございます ちゃんとブログもあるんですね 検索の仕方が足りませんでした
guest

0

Array.prototype.map

Array.prototype.map 向きな気がしました。
(全てにおいて、jQuery APIを使おうとすれば、発想の幅を狭めます。)

JavaScript

1$('#checklist input:checked').get().map(e=>e.value).join();

アロー関数

のサイトで function よりアロー関数でかくのが最近の主流ときいたのでそういうコーディングになれようとしてるのですが

アロー関数と関数式は機能が異なるので、流行を追いかける目的でアロー関数を使うといつか罠にはまると思います。
それぞれの機能の違いを意識すれば、適切な機能を選択できるようになるものです。

Re: kating さん

投稿2018/09/08 02:14

編集2018/09/08 05:22
think49

総合スコア18164

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/09/10 09:02

そうなのですね… そのブログには >functionはもはやNGワードなので忘れてください。 とあったんですが公式にガイドラインみたいなのがでているわけではないんですね 自分としてはブログ検索で調べることが多いのでまだまだ function を使った例のほうが多くて使えるほうがありがたいです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問