- ベストアンサー
jQueryのコードを短く書きたい
- 連動したセレクトボックスのコードを短くできないか悩んでいます
- ダウンロードしたコードには文字化けがありますが、エラーに影響しないので気にしなくて大丈夫です
- nextAll()などのメソッドを使用して、コードを短くする方法を教えてください
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> resetCategoryとrequestCategoryにはどういった構文の意味があるのでしょうか? 関数の名前です。 どういう処理を行う命令なのかを明記すべきでしょう。 > あと、なぜresetCategory、requestCategoryのCは大文字なのでしょうか? キャメルケースと呼ばれる命名記法です。 言語によって利用する記法セオリーが異なりますが、JavaScriptはキャメルケースです。 http://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%A3%E3%83%A1%E3%83%AB%E3%82%B1%E3%83%BC%E3%82%B9 確認してたときのコードが混じってました。 console.log(val); は不要です。
その他の回答 (2)
- Gotthold
- ベストアンサー率47% (396/832)
> resetCategoryとrequestCategoryにはどういった構文の意味があるのでしょうか? 特に意味はありません。単なる関数の名前。 別にaaaとかいう適当な名前でも動作はする。 分かりにくくなるだけなので普通はそんな名前は使わないけど。 > あと、なぜresetCategory、requestCategoryのCは大文字なのでしょうか? その方が読みやすいから。
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
単純に同じことを何度も書いているのが悪いのでは。 <script type="text/javascript"> /** * カテゴリリセット * @param object 処理対象カテゴリ */ function resetCategory(category) { category.empty(); category.append($("<option selected>----</option>")); } /** * ajax通信 * @param int 親カテゴリID * @param object 処理対象カテゴリ */ function requestCategory(parentId, category) { $.ajax({ async: true, type: 'POST', url: 'category.php', data: {'parent_id': parentId}, success: function(result) { try { var json = JSON.parse(result); $.each(json, function (idx, val) { console.log(val); var $op = $("<option />").val(val.category_id).text(val.category_name); category.append($op); }); } catch (err) { alert('サーバーとの通信でエラーが発生しました'); return false; } }, error: function(msg) { alert('サーバーとの通信でエラーが発生しました'); return false; } }); } $(function(){ var category1 = $("#category1"); var category2 = $("#category2"); var category3 = $("#category3"); // カテゴリ1 resetCategory(category1); requestCategory(0, category1); // カテゴリ2 category1.change(function () { resetCategory(category2); resetCategory(category3); var mugen =$("#category1 option:selected").val(); requestCategory(mugen, category2); }); // カテゴリ3 $("#category2").change(function () { resetCategory(category3); var aporo =$("#category2 option:selected").val(); requestCategory(aporo, category3); }); }); </script>
補足
ご回答ありがとうございます 無事に動くことができました 二つ質問があるのですが resetCategoryとrequestCategoryにはどういった構文の意味があるのでしょうか? あと、なぜresetCategory、requestCategoryのCは大文字なのでしょうか?
お礼
細かな説明までありがとうございます 勉強になりました もっと勉強していきたいと思います!