这很简单,以前被问过很多次,但我不知道该由谁来做。我有两个下拉列表,最后一个是从第一个下拉列表的选择中填充的。这是可行的,但现在我想预选第二个下拉列表,当响应中只有一个元素时。
函数:
$( "select[name='r53b']" ).change(function () {
var r53bID = $(this).val();
if(r53bID) {
$.ajax({
url: "/overfladeajax.php",
dataType: 'Json',
data: {'id':r53bID},
success: function(data) {
$('select[name="r53c"]').empty();
$('select[name="r53c"]').append('<option value="">Vælg Lagtykkelse</option>');
$.each(data, function(key, value) {
$('select[name="r53c"]').append('<option value="'+ key +'">'+ value +'</option>');
});
}
});
}
});2类应答:
{"7":"2 x 100 \u03bcm HS 150 (totalt 200 \u03bcm t\u00f8rfilm)","8":"1 x 40 \u03bcm zink primer + 1 x 120 \u03bcm HS 150 (totalt 160 \u03bcm t\u00f8rfilm)"}或
{"2":"1 x 80 \u03bcm HS 150"}如何制作附件,以便它也将选择只有一个选项是可用的?
发布于 2020-10-20 13:45:10
您可以使用Object.keys(yourjson).length获取json对象中键的长度,如果计数为1,则向该选项添加selected。
演示代码:
var data = {
"2":"1 x 80 \u03bcm HS 150"
}
var count = Object.keys(data).length//get key length
console.log("length is "+count)
$('select[name="r53c"]').append('<option value="">Vælg Lagtykkelse</option>');
$.each(data, function(key, value) {
//if length is 1
if (count == 1) {
$('select[name="r53c"]').append('<option selected value="' + key + '">' + value + '</option>');
} else {
$('select[name="r53c"]').append('<option value="' + key + '">' + value + '</option>');
}
})<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="r53c">
</select>
https://stackoverflow.com/questions/64444690
复制相似问题