AJAX 中具有多个变量的条件

Condition in AJAX with multiple variabel

我有这样的代码: (表单输入)

<label>Nomor Kartu Keluarga</label>
<select class="custom-select" id="nokk" name="nokk" required="" onkeyup="getortu()">
     <?php
     foreach($nokk->result_array() as $u)
    {
    echo '<option value="'.$u["nokk"].'">'.$u["nokk"].'   -  '.$u["namakepalakeluarga"].'</option>';
     }
     ?>
     </select>
    
    
 <label>Status Hubungan Dalam Keluarga</label>
 <select class="custom-select" id="statushubkeluarga" name="statushubkeluarga" required="" onkeyup="getortu()">
     <?php
     foreach($statushubkeluarga->result_array() as $u)
     {
     echo '<option value="'.$u["id"].'">'.$u["namastatushub"].'</option>';
     }
     ?>
     </select>

     <label>Nama Ayah</label>
      <select class="form-control" id="namaayah" name="namaayah" >
     </select>

而且,我想在“statushubkeluarga”== 3 时使用“AJAX”,但在 != 3 时使用输入标签,我的 ajax 代码:

function getortu(){


            var nokk = $("#nokk").val();
            var statushubkeluarga = $("#statushubkeluarga").val();
            if(statushubkeluarga == 3){

    
            $.ajax({
              url : "<?php echo base_url();?>/MainController/Getnamaayah",
              method : "POST",
              data : {nokk:nokk},
              async : false,
              dataType : 'json',
              success: function(data){
                var html = '';
                var i;

                for(i=0; i<data.length; i++){
                  html += '<option value='+data[i].namakepalakeluarga+'>'+data[i].namakepalakeluarga+'</option>';
                }
                $('#namaayah').html(html);


              }
            });
          }else{

          }
        }

为什么我的 ajax 代码不起作用?我的情况不工作,所以选项无法显示。帮帮我.. 谢谢

您使用了错误的功能。您应该使用 onchange 而不是 onkeyup.

<select class="custom-select" id="statushubkeluarga" name="statushubkeluarga" required="" onchange="getortu()"></select>


<select class="custom-select" id="statushubkeluarga" name="statushubkeluarga" required="" onchange="getortu()"></select>

问题似乎是onkeyup="getortu()"。你应该使用 onchange.

详情请看HTML onchange Attribute and ONCHANGE attribute for INPUT elements

function getortu() {


  var nokk = $("#nokk").val();
  var statushubkeluarga = $("#statushubkeluarga").val();
  if (statushubkeluarga == 3) {
    console.log('Send Ajax');
  } else {
    console.log('Do Not Send Ajax');
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label>Nomor Kartu Keluarga</label>
<select class="custom-select" id="nokk" name="nokk" required="" onchange="getortu()">
  <option value='a'>A</option>
  <option value='b'>B</option>
  <option value='c'>C</option>
</select>

<label>Status Hubungan Dalam Keluarga</label>
<select class="custom-select" id="statushubkeluarga" name="statushubkeluarga" required="" onchange="getortu()">
  <option value='1'>1 Val</option>
  <option value='2'>2 Val</option>
  <option value='3'>3 Val</option>
</select>

<label>Nama Ayah</label>
<select class="form-control" id="namaayah" name="namaayah">
</select>