内部にチェックボックスがあるドロップダウンメニューがあります。ユーザーが外をクリックしたときにドロップダウンを閉じたいと思います。外部をクリックするとドロップダウンメニューが表示されない
私のコードは次のとおりです。
<form>
<div class="multiselect">
<div class="selectBox" onclick="showCheckboxes()">
<select>
</select>
</div>
<div class="checkboxes" id="checkboxes">
@{
if (ViewBag.DataActiveEmployee == null || ((IEnumerable<MvcApplication1.Models.ActiveUsersList>)ViewBag.DataActiveEmployee).Count() == 0)
{
//@:<h3>No records were processed.</h3>
}
else
{
foreach (var usr in ViewBag.DataActiveEmployee)
{
<label id="userName">@usr.EmployeeName</label>
<input class="checked" type="checkbox" name="search_emp" id="search_emp" [email protected]>
@:
}
}
}
</div>
</div>
JS
<script>
var expanded = false;
checkboxes.style.display = "none";
function showCheckboxes() {
var checkboxes = document.getElementById("checkboxes");
if (!expanded) {
checkboxes.style.display = "block";
expanded = true;
} else {
checkboxes.style.display = "none";
expanded = false;
}
}
$('multiselect').click(function() {
$("#checkboxes").hide();
});
私は外に押したときに、何もないので問題には、JavaScriptの第2の機能の中にありますハプニング。
助けてください。 DOMにターゲットをクリックし、ドロップダウン自体か
$(document).on("click", function(event){
var $trigger = $(".checkboxes");
if($trigger !== event.target && !$trigger.has(event.target).length){
$(".checkboxes").hide();
}
});
としてそれが動作するはずである場合
フォーム自体にonclickの属性を入れた場合はどうなりますか? – brianlmerritt