<p class="add-new-img mt-2">
<select name="picType" id="img-type">
<option value="0">彩色</option>
<option value="1">黑白</option>
</select>
</p>
<p class="add-new-img mt-2">
<select name="picType" id="img-type-classify">
</select>
</p>
Deux listes déroulantes, attribuez à la première liste déroulante un événement de changement, demandez une adresse ajax différente et modifiez les données de la deuxième liste déroulante
$("#img-type").change(function(){
console.log($(this).val())
if($(this).val()===1){
console.log(1)
$.ajax({
type : 'GET',
data: {
'type': '2',
"type_classify":1
},
url: "/Type/getTypeList",
dataType: "json",
success: function(data){
var color = ["彩色","黑白"]
var options='';
for(var i=0;i<data.data.length;i++){
var num = Number(data.data[i].type_classify)
options += '<option value='+data.data[i].id+'>'+data.data[i].id+data.data[i].type_name+"("+color[num]+")"+'</option>';
}
$("#img-type-classify").html(options);
},
error:function(msg){
console.log(msg);
},
});
}
if($(this).val()===0){
console.log(0)
$.ajax({
type : 'GET',
data: {
'type': '2',
"type_classify":0
},
url: "/Type/getTypeList",
dataType: "json",
success: function(data){
var color = ["彩色","黑白"]
var options='';
for(var i=0;i<data.data.length;i++){
var num = Number(data.data[i].type_classify)
options += '<option value='+data.data[i].id+'>'+data.data[i].id+data.data[i].type_name+"("+color[num]+")"+'</option>';
}
$("#img-type-classify").html(options);
},
error:function(msg){
console.log(msg);
},
});
}
})
Jugez la valeur de la première liste déroulante et demandez différentes interfaces d'arrière-plan. Cependant, il est normal que la console ait $(this).val(). Cependant, la console n'a aucun effet dans l'instruction if. la raison ?
if($(this).val()==='1')
0 et 1 sont tous deux des chaînes, n'est-ce pas ? Vous avez utilisé
===
, alors...