0
私は2つのjquery関数を持っていますが、idは唯一の違いがあります。どちらの場合に1つの機能を果たすためには、どのような変更が必要ですか。クラスセレクタを単独で使用すると、同時に両方が選択されます。同じクラスの別の同じIDで別のコードを避ける
機能 - クリックのドロップダウンリスト、チェックボックスによって選択し、入力ボックスに表示選択:
$(document).ready(function(){
$("#location dt a").on('click', function() {
$("#location dd ul").slideToggle('fast');
});
$("#location dd ul li a").on('click', function() {
$("#location dd ul").hide();
});
function getSelectedValue(id) {
return $("#" + id).find("dt a span.value").html();
}
$(document).bind('click', function(e) {
var $clicked = $(e.target);
if (!$clicked.parents().hasClass("dropdown")) $("#location dd ul").hide();
});
$('#location input[type="checkbox"]').on('click', function() {
var title = $(this).closest('#location').find('input[type="checkbox"]').val(),
title = $(this).val() + ",";
if ($(this).is(':checked')) {
var html = '<span title="' + title + '">' + title + '</span>';
$('#loc').append(html);
$(".hida").hide();
} else {
$('span[title="' + title + '"]').remove();
var ret = $(".hida");
$('#location dt a').append(ret);
}
});
});
HTML
<label for="proptypes">Type</label>
<dl class="dropdown" id="proptypes">
<dt>
<a href="#"><p class="multiSel" id="prop"></p></a>
</dt>
<dd>
<div class="mutliSelect">
<ul>
<li>
<input type="checkbox" value="Blackberry" />Blackberry
</li>
<li>
<input type="checkbox" value="Sony Ericson" />Sony Ericson
</li>
</ul>
</div>
</dd>
</dl>
機能の作品が、私は単純にしようとしていますのでご注意くださいコードの量を減らす - http://christamariebusuttil.com/homesmalta/(機能結果はタイプと場所の入力/選択ボックスに表示されます)
のparam idの機能のまわりでそれをラップし、あなたが2つのIDを呼び出している場合は二回 –
外からそれを呼び出しますか?上記の例では重複コードは見られません。また、あなたのコードがすでに望ましい結果を達成していると考えると、この質問は[** StackExchangeのCodeReview **](http://codereview.stackexchange.com/)にもっと適しているかもしれません:) –
また、 'getSelectedValue'はさえ呼んでもいい? –