javascript - 使用 ajax 填充 select 时未选择默认选项的问题

标签 javascript jquery html ajax

当我用 ajax 调用填充选择框时,我遇到了无法拥有默认选定选项的问题,我有值,但不是默认值,我希望默认值将是第一个值我接到电话;

我的 HTML 是(我们将处理 select2):

<div class="containerdiv">
    <select class="select1" name="dettaglio1">
    </select> <select class="select2" name="dettaglio2">
    </select> <select class="select3" name="dettaglio3">
    </select>
</div>

而ajax调用是这样的(评论是给你的):

loadEvento : function() {

            $select2 = $('.select2');
            luoghi.saveLuogo();  //dont care about
            $
                    .ajax({
                        url : 'http://localhost:8080/Redman-Mock-Services/services/comboevento',
                        dataType : 'json',
//                        data: JSON.stringify(opzioniSelezionate.luogo),
                        success : function(data) {
                            console.log(data);
                            $select2.html('');
//                          SETTING 1st value as selected
                            var first_iteration = true;
                            $.each(data, function(key, val) {
                                var o = new Option(val,key);
                                  if (first_iteration) {
                      o.selected = true; // ALSO TRYED $select2.html(o);
                                      first_iteration = false;
                                  }
                                   $select2.append(o);
                            })
                        },
                        error : function(err) {
                            $select2.html('<option id="0">nessun dato disponibile</option>');
                            console.log(err);

                        }
                    });

        }

调用后我的 html 是(F12):

<div id="select-4-button" class="ui-btn ui-icon-carat-d ui-btn-icon-right ui-corner-all ui-shadow">
  <span class="select2">&nbsp;</span>
  <select class="select2" name="dettaglio2">
  <option value="0">option1</option>
  <option value="1">option2</option>
  <option value="2">option3</option>
  <option value="3">option4</option
  ><option value="4">option5</option>
  </select></div>

问题出在span元素上吗?为什么它是空白的?

最佳答案

加载所有选项后选择默认值。检查下面

loadEvento : function() {

            $select2 = $('.select2');
            luoghi.saveLuogo();  //dont care about
            $
                    .ajax({
                        url : 'http://localhost:8080/Redman-Mock-Services/services/comboevento',
                        dataType : 'json',
//                        data: JSON.stringify(opzioniSelezionate.luogo),
                        success : function(data) {
                            console.log(data);
                            $select2.html('');
//                          SETTING 1st value as selected
                            var first_iteration = true;
                            $.each(data, function(key, val) {
                                var o = new Option(val,key);
                                  if (first_iteration) {
                      o.selected = true; // ALSO TRYED $select2.html(o);
                                      first_iteration = false;
                                  }
                                   $select2.append(o);
                            })
                         // Select the default value once all the options are loaded
                         $('select[name=dettaglio2]').val($('select[name=dettaglio2] option:first').val());
                        },
                        error : function(err) {
                            $select2.html('<option id="0">nessun dato disponibile</option>');
                            console.log(err);

                        }
                    });

        }

关于javascript - 使用 ajax 填充 select 时未选择默认选项的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29028995/

相关文章:

JavaScript。如何比较输入数组

javascript - 如何选择具有特定类的表单中的所有字段

javascript - 计算段落相对于内容[数据]的高度(字符数)

html - 带有输入组的可折叠 Bootstrap 面板,使整个标题可点击

java - 如何在我正在编写的 Android 应用程序中从网站下载 HTML 代码?

javascript - 如何使用div在javascript中显示当前月份,年份

javascript - 自定义选择器中的索引无法正常工作

javascript - 页面重新加载成功时如何隐藏模式弹出窗口

javascript - 我想知道将 `useEffect()` 与空依赖数组一起使用与不使用 `useEffect()` 本身之间的区别

javascript - HTML 控件功能