javascriptの条件の絞り込み
$(function () {
$(".accordionbox dt").filter(function (i, e) {
return isActive($(e).next());
}).each(function (i, e) {
return toggle($(e));
});
$(".accordionbox dt").on("click", function () {
toggle($(this));
});
});
function toggle($dt) {
$dt.next().slideToggle(100);//slide speed 0.1second
if ($dt.children(".accordion_icon").hasClass('active')) {
$dt.children(".accordion_icon").removeClass('active');
} else {
$dt.children(".accordion_icon").addClass('active');
};
};
function isActive($dd) {
if ($dd.find('input[value="email"]:checked').length) //checkbox
return true;
if ($dd.find('input[value="email"]').length) //checkbox
return false;
if ($dd.find('input[type="text"]').filter(function (i, e) {//text
return $(e).val();
}).length) return true;
if ($dd.find('option').filter(function() { return /^[0-9]+$/.test(this.value); }).length)//participant facility
return true;
if ($dd.find('input[value="privateScope"]:checked').length) return true;// radiobox
if ($dd.find('input[value="userScope"]:checked').length) return true;// radiobox
if ($dd.find('input[class="field form-control"]').filter(function (i, e) {
return $(e).val();
}).length) //descrption
return true;
return false;
};
<div class="accordionbox" id="accordion">
<dl class="accordionlist">
<dt class="col-xs-12 section">
<p class="accordion_icon active"><span></span><span></span></p>施設・設備
</dt>
<dd class="form-group" id="_jp_co_khi_kview_scheduler_portlet_INSTANCE_qmF0aShxscUg_facility_registry" style="display: block;">
<div class="col-xs-5 form-group">
<label class="col-xs-12 control-label mb5" style="text-align: left;" for="group_registered_facilitylist">予約する施設・設備</label>
<select name="selectedFacilityCalendarResourceIds" class="col-xs-12 form-control input-sm options" id="group_registered_facilitylist" style="height: 167px;" size="9" multiple="">
<option value="169561" recurrency-settable="true">
Guest 101会議室
</option>
</select>
</div>
<div class="mb5" style="margin-top: 5px;">
<div class="btn-group" style="width: 100%;">
<select class="form-control input-sm" id="group_entry_facility_droplist" onfocus="this.selectedIndex = -1;">
<!-- <option value="" selected>全施設</option> -->
<option value="20142">Guest</option>
</select>
</div>
</div>
<label class="sr-only control-label" for="group_entry_facilitylist">施設・設備選択</label>
<div style="width: 100%; margin-top: 5px;">
<select name="_jp_co_khi_kview_scheduler_portlet_INSTANCE_qmF0aShxscUg_availableFacilityCalendarIds" class="form-control input-sm" id="group_entry_facilitylist" size="4" multiple="">
<option value="169561" recurrency-settable="true">
101会議室
</option>
<option value="171586" recurrency-settable="true">
201会議室
</option>
<option value="171630" recurrency-settable="true">
102会議室
</option>
</select>
</div>
</dd>
</dl>
</div>
で開閉する条件のjavascriptを作成していますが、
if ($dd.find('option').filter(function() { return /^[0-9]+$/.test(this.value); }).length)
return true;
このjavascriptだと
<div class="col-xs-5 form-group">
<label class="col-xs-12 control-label mb5" style="text-align: left;" for="group_registered_facilitylist">予約する施設・設備</label>
<select name="selectedFacilityCalendarResourceIds" class="col-xs-12 form-control input-sm options" id="group_registered_facilitylist" style="height: 167px;" size="9" multiple="">
<option value="169561" recurrency-settable="true">
Guest 101会議室
</option>
</select>
</div>
のデータのだけでなく、
<div style="width: 100%; margin-top: 5px;">
<select name="_jp_co_khi_kview_scheduler_portlet_INSTANCE_qmF0aShxscUg_availableFacilityCalendarIds" class="form-control input-sm" id="group_entry_facilitylist" size="4" multiple="">
<option value="169561" recurrency-settable="true">
101会議室
</option>
<option value="171586" recurrency-settable="true">
201会議室
</option>
<option value="171630" recurrency-settable="true">
102会議室
</option>
</select>
</div>
これにもoption valueの条件が当てはまります。
if ($dd.find('option').filter(function() { return /^[0-9]+$/.test(this.value); }).length)
return true;
このjavascriptから条件を加えるにはどのようにすればよいでしょうか。