데이터베이스에서 확인란을 생성하는 다음 코드가 있습니다.
< table class="table">
< thead>
< /thead>
< th>
<?php
$oaNamesQuery = "SELECT DISTINCT oaName FROM oaDetails";
$oaNamesQueryExecute = mysqli_query($conn, $oaNamesQuery);
while($oaNamesQueryRow = mysqli_fetch_array($oaNamesQueryExecute)){
$oaName = $oaNamesQueryRow['oaName'];
echo '<div class = "checkbox-group" required style="float:left; margin-right: 25px;"> <input class="checkBoxes" type="checkbox" id="checkBoxArray" name="checkBoxArray[]" value="'.$oaName.'"> '.$oaName.'</div>';
}
?>
< /th>
< /table>
아래와 같이 입력 유형이 숫자 인 다른 입력 상자가 있습니다.
<div class="col-sm">
<label for="numberOfShiftPerDay">Number</label>
<input type="number" class="form-control" id="numberOfShiftPerDay" name="numberOfShiftPerDay" placeholder="No: " onchange="disablingRoutine()" min="1" max="4">
</div>
아래와 같은 예제 UI
번호를 입력하면 입력 한 번호에 따라 드롭 다운 메뉴가 나타납니다. 예 : 1을 입력하면 jQuery 'OnChange'를 사용하여 아래와 같이 하나의 드롭 다운 목록이 나타납니다. UI는 다음과 같습니다.
내가 필요한 것
사용자가 선택한 확인란을 기반으로하는 드롭 다운 메뉴 옵션이 필요합니다. 예 : 사용자가 X, Y 및 XX 확인란을 선택한 경우 드롭 다운 목록에 X, Y 및 XX가 표시되어야합니다. 누군가가 이것을하는 방법을 도울 수 있습니까?
편집 1
stackoverflow 멤버가 제안한 변경 루틴에 Javascript 기능을 추가했습니다. 그러나 지금은 중복 문제가 있습니다. 내가 변경 한 코드 아래
if ($("#numberOfShiftPerDay").val() == 1) {
$.each($("input[name='checkBoxArray[]']:checked"), function() {
cval = $(this).val();
$('#oaInShift1').append('<option>' + cval + '</option>')
});
} else if ($("#numberOfShiftPerDay").val() == 2) {
$.each($("input[name='checkBoxArray[]']:checked"), function() {
cval = $(this).val();
$('#oaInShift2').append('<option>' + cval + '</option>')
});
} else if ($("#numberOfShiftPerDay").val() == 3) {
$.each($("input[name='checkBoxArray[]']:checked"), function() {
cval = $(this).val();
$('#oaInShift3').append('<option>' + cval + '</option>')
});
} else {
$.each($("input[name='checkBoxArray[]']:checked"), function() {
cval = $(this).val();
$('#oaInShift4').append('<option>' + cval + '</option>')
});
}
선택한 확인란 값을 가져 와서 onchange
함수 의 드롭 다운 목록에 추가 할 수 있습니다.
이 시도:
function disablingRoutine()
{
$.each($("input[name='checkBoxArray[]']:checked"), function(){
cval = $(this).val();
$('#dropdownID').append('<option>'+cval+'</option>')
});
}
편집 2
function disablingRoutine()
{
cdata = '';
$.each($("input[name='checkBoxArray[]']:checked"), function(){
cval = $(this).val();
cdata += '<option>'+cval+'</option>';
});
$('#dropdownID').html(cdata)
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다