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

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

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

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

jQuery

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

Q&A

解決済

1回答

1638閲覧

Javascript 変数の渡し方を教えて下さい。

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2016/01/14 12:10

編集2016/01/14 13:22

多分、基本的な事が解かってなくてお恥ずかしい次第ですが
処理を書きたい場所に変数が渡らなくて困っています.....

宜しくお願い致します。

HTML

1<html> 2<head> 3<style> 4tr.quotation th:first-child ,tr.quotation td:first-child { 5 width:30px; 6} 7input.row{ 8 display:none; 9} 10</style> 11</head> 12 13<body> 14 15<form id="quotation"> 16<table> 17 <tr> 18 <th>No</th><th>適用</th><th>数量</th><th>単価</th><th>合計</th><th>操作</th> 19 </tr> 20 21 <tr class="quotation"> 22 <td><input type="number" class="row" value="1">1</td> 23 <td><input type="text" class="item" name="item[]" value="かなづち" /></td> 24 <td><input type="number" class="num" name="num[]" value="1" /></td> 25 <td><input type="number" class="per" name="per[]" value="350" /></td> 26 <td><input class="subtotal par" id="subtotal1" type="number" disabled="disabled" value="350" /></td> 27 <td> 28 <div class="cogs_inner"> 29 <label><input class="control" type="radio" value="1" />一行挿入</label> 30 <label><input class="control" type="radio" value="2" />操作2</label> 31 <label><input class="control" type="radio" value="3" />操作3 </label> 32 <label><input class="control" type="radio" value="4" />操作4</label> 33 </div> 34 </td> 35 </tr> 36 37 <tr class="quotation"> 38 <td><input type="number" class="row" value="2">2</td> 39 <td><input type="text" class="item" name="item[]" value="くぎ" /></td> 40 <td><input type="number" class="num" name="num[]" value="300" /></td> 41 <td><input type="number" class="per" name="per[]" value="5" /></td> 42 <td><input class="subtotal par" id="subtotal2" type="number" disabled="disabled" value="1500" /></td> 43 <td> 44 <div class="cogs_inner"> 45 <label><input class="control" type="radio" value="1" />一行挿入</label> 46 <label><input class="control" type="radio" value="2" />操作2</label> 47 <label><input class="control" type="radio" value="3" />操作3 </label> 48 <label><input class="control" type="radio" value="4" />操作4</label> 49 </div> 50 </td> 51 </tr> 52 53 <tr class="quotation"> 54 <td><input type="number" class="row" value="3">3</td> 55 <td><input type="text" class="item" name="item[]" value="板" /></td> 56 <td><input type="number" class="num" name="num[]" value="5" /></td> 57 <td><input type="number" class="per" name="per[]" value="1000" /></td> 58 <td><input class="subtotal par" id="subtotal3" type="number" disabled="disabled" value="5000" /></td> 59 <td> 60 <div> 61 <label><input class="control" type="radio" value="1" />一行挿入</label> 62 <label><input class="control" type="radio" value="2" />操作2</label> 63 <label><input class="control" type="radio" value="3" />操作3 </label> 64 <label><input class="control" type="radio" value="4" />操作4</label> 65 </div> 66 </td> 67 </tr> 68 69 <tr class="quotation"> 70 <td><input type="number" class="row" value="4">4</td> 71 <td><input type="text" class="item" name="item[]" value="" /></td> 72 <td><input type="number" class="num" name="num[]" value="" /></td> 73 <td><input type="number" class="per" name="per[]" value="" /></td> 74 <td><input class="subtotal par" id="subtotal3" type="number" disabled="disabled" value="" /></td> 75 <td> 76 <div> 77 <label><input class="control" type="radio" value="1" />一行挿入</label> 78 <label><input class="control" type="radio" value="2" />操作2</label> 79 <label><input class="control" type="radio" value="3" />操作3 </label> 80 <label><input class="control" type="radio" value="4" />操作4</label> 81 </div> 82 </td> 83 </tr> 84 85 <tr class="quotation"> 86 <td><input type="number" class="row" value="5">5</td> 87 <td><input type="text" class="item" name="item[]" value="" /></td> 88 <td><input type="number" class="num" name="num[]" value="" /></td> 89 <td><input type="number" class="per" name="per[]" value="" /></td> 90 <td><input class="subtotal par" id="subtotal3" type="number" disabled="disabled" value="" /></td> 91 <td> 92 <div> 93 <label><input class="control" type="radio" value="1" />一行挿入</label> 94 <label><input class="control" type="radio" value="2" />操作2</label> 95 <label><input class="control" type="radio" value="3" />操作3 </label> 96 <label><input class="control" type="radio" value="4" />操作4</label> 97 </div> 98 </td> 99 </tr> 100 </table> 101 </form > 102

JS

1<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 2<script type="text/javascript"> 3 /*見積コントロール操作処理 4 ----------------------------------------------------------------------------------------------------------------*/ 5 $(document).on('change','.control', function(){ 6 7 var Control_Type = Number(this.value);//操作識別 8 var Control_Row = parseInt($(this).closest("tr").find("input.row").val());//操作を行う行番号を取得 9 10 11 //既存データの行数を取得 12 Exisdata_num = 3; 13 14 15 16 17 //既存データ内容を 配列名「Exisdata」 に格納 18 var Exisdata = new Array(); 19 Exisdata[1] = ['かなづち',1,350]; 20 Exisdata[2] = ['くぎ',300,5]; 21 Exisdata[3] = ['板',5,1000]; 22 23 24 25 26 27 /*Control_Type別の配列加工 28 -----------------------------------------------------------------------------------*/ 29 Newdata = new Array(); 30 switch(Control_Type){ 31 case 1: 32 //配列名「Exisdata」を Control_Rowの行(ここでは仮に2行目)を空欄にして加工 33 Newdata[1] = ['かなづち',1,350]; 34 Newdata[2] = ['','','']; 35 Newdata[3] = ['くぎ',300,5]; 36 Newdata[4] = ['板',5,1000]; 37 38 Newdata_num = Newdata.length-1 ;//←※※※「Newdata_num」が問題の変数で 欲しいのはこのデータ「Newdata_num」です。 39 40 41 alert(Newdata_num);// ここでは「4」と出ます」 42 43 ; 44 break; 45 case 2: 46 alert('操作2は準備できてません'); 47 ; 48 break; 49 case 3: 50 alert('操作3は準備できてません'); 51 ; 52 break; 53 case 4: 54 alert('操作4は準備できてません'); 55 ; 56 break; 57 } 58 59 60 61 alert(Newdata_num);// ここでも「4」と出ます」 62 63 64 65 //既存見積もりの入力値をクリア 66 $(".quotation").each(function(i){ 67 $(this).find('.item').val(''); 68 $(this).find('.num').val(''); 69 $(this).find('.per').val(''); 70 $(this).find('.subtotal').val(''); 71 $(this).find(".control").each(function() { 72 this.checked = false; 73 }); 74 }); 75 76 77 alert(Newdata_num);// ここでも「4」と出ます」 78 79 80 81 //既存見積もりの入力値をNewdataに変更 82 $(".quotation").each(function(i){ 83 var i=i+1; 84 $(this).find('.item').val(Newdata[i][0]); 85 $(this).find('.num').val(Newdata[i][1]); 86 $(this).find('.per').val(Newdata[i][2]); 87 $(this).find('.subtotal').val(Newdata[i][3]); 88 89 }); 90 91 //※※※ ここにデータの行数によってページの表示数を変える処理を書きたいんですけど..... 92 93 alert(Newdata_num);// ここでは 値が消えてしまってるみたいです・・・・(´ノω;`) 94 95 96 97 }); 98 99</script> 100

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

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

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

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

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

EKD

2016/01/14 12:58

問題の変数はどの部分でしょうか?
退会済みユーザー

退会済みユーザー

2016/01/14 13:33

解かりにくくて すみません! 「Newdata_num」です。 配列を加工した後に Newdata_num = Newdata.length-1;で取得した 配列の数です
guest

回答1

0

ベストアンサー

エラーが出て処理が止まっているだけです。
2つ目のコードの82行目付近を以下のように変更すれば最後まで処理は走ると思います。

JavaScript

1$(".quotation").each(function(i){ 2 if( i + 1 >= Newdata.length ) return true; 3 $(this).find('.item').val(Newdata[i + 1][0]); 4 $(this).find('.num').val(Newdata[i + 1][1]); 5 $(this).find('.per').val(Newdata[i + 1][2]); 6 // $(this).find('.subtotal').val(Newdata[i + 1][3]); 7});

投稿2016/01/14 13:38

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2016/01/14 14:10

ご回答ありがとうございます。 配列の数を超えて 無駄に処理させてしまってたんですね エラーになってる事に気が付きませんでした 助かりました ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問