アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在jQueryを使って連動したセレクトボックスを作成したいと思いコードを書いているんですがすこしながくなってしまってます。

このコードをどのようにすればもっと短くできるかが知りたいです

お手数ですが
http://www.dotup.org/uploda/www.dotup.org5225464 …
でダウンロードをしていただけると助かります
文字化けの部分はエラーした時の文字なので気にしなくて大丈夫です
名前はコードになります。となっています

今思いついているのはnextAll()などを使えばうまくいくのかなと考えているんですが、悩んでおります

どうかお力をお貸しください。

A 回答 (3件)

> resetCategoryとrequestCategoryにはどういった構文の意味があるのでしょうか?


関数の名前です。
どういう処理を行う命令なのかを明記すべきでしょう。

> あと、なぜresetCategory、requestCategoryのCは大文字なのでしょうか?
キャメルケースと呼ばれる命名記法です。
言語によって利用する記法セオリーが異なりますが、JavaScriptはキャメルケースです。
http://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%A3% …


確認してたときのコードが混じってました。
console.log(val);
は不要です。
    • good
    • 0
この回答へのお礼

細かな説明までありがとうございます
勉強になりました
もっと勉強していきたいと思います!

お礼日時:2014/08/03 21:56

> resetCategoryとrequestCategoryにはどういった構文の意味があるのでしょうか?


特に意味はありません。単なる関数の名前。
別にaaaとかいう適当な名前でも動作はする。
分かりにくくなるだけなので普通はそんな名前は使わないけど。

> あと、なぜresetCategory、requestCategoryのCは大文字なのでしょうか?
その方が読みやすいから。
    • good
    • 0

単純に同じことを何度も書いているのが悪いのでは。


<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は大文字なのでしょうか?

補足日時:2014/08/01 17:49
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!