首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ajax/json响应中的计数元素

问ajax/json响应中的计数元素
EN

Stack Overflow用户
提问于 2020-10-20 11:57:52
回答 1查看 328关注 0票数 0

这很简单,以前被问过很多次,但我不知道该由谁来做。我有两个下拉列表,最后一个是从第一个下拉列表的选择中填充的。这是可行的,但现在我想预选第二个下拉列表,当响应中只有一个元素时。

函数:

代码语言:javascript
复制
                    $( "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类应答:

代码语言:javascript
复制
{"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)"}

或

代码语言:javascript
复制
{"2":"1 x 80 \u03bcm HS 150"}

如何制作附件,以便它也将选择只有一个选项是可用的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-20 13:45:10

您可以使用Object.keys(yourjson).length获取json对象中键的长度,如果计数为1,则向该选项添加selected。

演示代码:

​

代码语言:javascript
复制
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>');
  }
})
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="r53c">
</select>

​

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64444690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档