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

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

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

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

jQuery

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

Q&A

解決済

2回答

2316閲覧

checkboxの値を取得するプログラム

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2015/11/13 07:26

###前提・実現したいこと
JavaScriptでチェックされたcheckboxの値を取得するシステムを実装したいのですが、うまく動きません。
ボタンを押したらチェックされているcheckboxの値を取得して表示させたいです。
前半部分のチェックボックスを表示するプログラムは動いています。
jQueryも読み込んでいます。

知識足らずではありますが、ご指導よろしくお願いします。

###発生している問題・エラーメッセージ
Uncaught TypeError: hoge.push(...).then is not a function
###ソースコード

JavaScript

1$(function(){ 2 //mBaaSの初期化 3 var application_key = ""; 4 var client_key = ""; 5 var ncmb = new NCMB(application_key, client_key); 6 7 var UN = ncmb.DataStore("UN"); 8 9 //showUNの設定 10 $(function showUN(){ 11 //checkボックスの設定 12 //nameから降順 13 UN.order("name", false) 14 .fetchAll() 15 .then(function(ary){ 16 $("#chbox").empty(); 17 $.each(ary, function(i, UN){ 18 $('<input name="hoge" type="checkbox" value="" /><label>') 19 .text(UN.get("name")) 20 .appendTo("#chbox"); 21 }); 22 }) 23 .catch(function(){ 24 alert("error"); 25 }); 26 }); 27 28 $(".btn>#btn1").on("click", function(){ 29 //チェックボックスのデータ取得 30 var hoge = []; 31 var i = 0; 32 $('[name="hoge"]:checked').each(function(){ 33 hoge.push($(this).val()) 34 .then(function(){ 35 alert(hoge + "がチェックされました"); 36 }) 37 .catch(function(){ 38 alert("データの取得失敗"); 39 }); 40 }); 41 }); 42 });

html

1 <form id="chbox"></form> 2 3 <div class="btn"> 4 <input type="button" id="btn1" value="送信"/><br /> 5 </div>

###補足情報(言語/FW/ツール等のバージョンなど)

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

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

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

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

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

guest

回答2

0

ベストアンサー

申し訳ないです、できました。
まず、そもそもvalueに値がなかったのでそれを追加して、
そして、Lhankor_Mhyさんに指摘してもらったとおりthenを排除してalertをおいてあげたらできました。
でも、Lhankor_Mhyさんのお力添えなくしてはできなかったと思います。
ありがとうございました

JavaScript

1 $(function(){ 2 //mBaaSの初期化 3 var application_key = ""; 4 var client_key = ""; 5 var ncmb = new NCMB(application_key, client_key); 6 7 var UN = ncmb.DataStore("UN"); 8 9 //showUNの設定 10 $(function showUN(){ 11 //nameから降順 12 UN.order("name", false) 13 .fetchAll() 14 .then(function(ary){ 15 $("#chbox").empty(); 16 $.each(ary, function(i, UN){ 17 $('<input name="hoge" type="checkbox" value="' + UN.get("name") + '" /><label>') 18 .text(UN.get("name")) 19 .appendTo("#chbox"); 20 }); 21 }) 22 .catch(function(){ 23 alert("error"); 24 }); 25 }); 26 27 $(".btn>#btn1").on("click", function(){ 28 //チェックボックスのデータ取得 29 var hoge = []; 30 31 $('[name="hoge"]:checked').each(function(){ 32 hoge.push($(this).val()); 33 }); 34 var a = hoge 35 alert( a + "がチェックされました。"); 36 37 }); 38 }); 39

投稿2015/11/13 08:22

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

配列の末尾に1つ以上の要素を追加することができます。また戻り値として新しい配列の要素数を返します。

Array.prototype.push() - JavaScript | MDN

とのことですから、配列に.then()というメソッドがないためエラーになっているのでは。

投稿2015/11/13 07:52

Lhankor_Mhy

総合スコア36074

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

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

退会済みユーザー

退会済みユーザー

2015/11/13 07:59

$('[name="hoge"]:checked').each(function()のなかには.thenをかけないということですね。 んー、取得した値をアラートで表示したいんですが、どうすればいいでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問