現在jQueryを使って連動したセレクトボックスを作成したいと思いコードを書いているんですがすこしながくなってしまってます。
このコードをどのようにすればもっと短くできるかが知りたいです
お手数ですが
http://www.dotup.org/uploda/www.dotup.org5225464 …
でダウンロードをしていただけると助かります
文字化けの部分はエラーした時の文字なので気にしなくて大丈夫です
名前はコードになります。となっています
今思いついているのはnextAll()などを使えばうまくいくのかなと考えているんですが、悩んでおります
どうかお力をお貸しください。
No.3ベストアンサー
- 回答日時:
> resetCategoryとrequestCategoryにはどういった構文の意味があるのでしょうか?
関数の名前です。
どういう処理を行う命令なのかを明記すべきでしょう。
> あと、なぜresetCategory、requestCategoryのCは大文字なのでしょうか?
キャメルケースと呼ばれる命名記法です。
言語によって利用する記法セオリーが異なりますが、JavaScriptはキャメルケースです。
http://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%A3% …
確認してたときのコードが混じってました。
console.log(val);
は不要です。
No.2
- 回答日時:
> resetCategoryとrequestCategoryにはどういった構文の意味があるのでしょうか?
特に意味はありません。単なる関数の名前。
別にaaaとかいう適当な名前でも動作はする。
分かりにくくなるだけなので普通はそんな名前は使わないけど。
> あと、なぜresetCategory、requestCategoryのCは大文字なのでしょうか?
その方が読みやすいから。
No.1
- 回答日時:
単純に同じことを何度も書いているのが悪いのでは。
<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は大文字なのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ブックマークレットについて 2 2022/10/09 11:48
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Visual Basic(VBA) excel vbaでselenium basic 3 2022/10/02 12:35
- Visual Basic(VBA) QRコード作成マクロについて 3 2022/11/26 16:55
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- 作詞・作曲 【作曲で大事なこととは?】 作曲において重要なのって、音楽理論や楽典の知識もそうですが、ジャンルとそ 7 2023/04/09 04:46
- オープンソース Pythonのコードをexe化 1 2023/07/03 08:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
追加ボタンを押した際に ok ボ...
-
フォームが空欄の時にフォーム...
-
GASに文字列として関数を入れる...
-
特定の文字列を複数抜き出した...
-
初心者です。gulpでコンパイル...
-
階層別の組織図の自動作成について
-
①入力フォーム→②確認表示画面→③...
-
Q&A掲示板の入力フォームに文字...
-
ボタンを押したあとに画像を表...
-
コードレビューをお願いします。
-
React hooksが値を返して配列変...
-
フロントエンドフレームワーク...
-
画面遷移を行わずに同一ページ...
-
ローディングアニメーションの...
-
jQueryで同じクラス名のものを...
-
ジャバスクリプトについて。
-
プログラムについて。
-
メールフォームの日付入力フォ...
-
二次元配列を使って順位をだす...
-
iOSのみダブルタップが必要
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
二次元配列を使って順位をだす...
-
プログラムについて。
-
Q&A掲示板の入力フォームに文字...
-
メールフォームの日付入力フォ...
-
iOSのみダブルタップが必要
-
ジャバスクリプトについて。
-
画面遷移を行わずに同一ページ...
-
特定の文字列を複数抜き出した...
-
指定時間になったら、WEBサイト...
-
追加ボタンを押した際に ok ボ...
-
①入力フォーム→②確認表示画面→③...
-
スマホ上で、左右スワイプで次...
-
読み込んだQRコードをフォーム...
-
フロントエンドフレームワーク...
-
React hooksが値を返して配列変...
-
GASでGoogleフォームの自動返信...
-
初心者です。gulpでコンパイル...
-
階層別の組織図の自動作成について
-
HTMLで作った時報アプリが動き...
-
jQueryで同じクラス名のものを...
おすすめ情報