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>
我有这样的代码: (表单输入)
<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>