javascript - 对于使用 select 元素(ajax、bootstrap)时的每个问题

标签 javascript jquery bootstrap-4

我尝试在 <select><option> ... </option></select> 中使用 foreach 循环元素与jquery + ajax,但我这样做后它没有显示任何值。

当我尝试控制台时没有错误,它完美地显示了结果数据。但是当我为每个执行操作时,“数据”不会出现在我的选项元素中。

  $("#rm-btn").on("click", function(e) {
  let normIn = $("#norm-input").val();

  $.ajax({
    url: "regis/checkrm",
    type: "POST",
    dataType: "json",
    data: {
      norm: normIn
    },

    success: function(res) {
      if (res) {
        $("#data-pas")
          .slideDown("slow")
          .html(  
     `<table class="table table-borderless" id="datatab">
        <tbody>
            <tr>
                <td>Name</td>
                <td>:</td>
                <td>` + res.name + `</td>
                <td>Sex</td>
                <td>:</td>
                <td>` + res.sex + `</td>
            </tr>
            <tr>
                <td>Date_birth</td>
                <td>:</td>
                <td>` + res.date_birth + `</td>
                <td>Address</td>
                <td>:</td>
                <td>` + res.address + `</td>
            </tr>
            <tr>
                <td>Status</td>
                <td>:</td>
                <td>` + res.status + `</td>
                <td>Job</td>
                <td>:</td>
                <td>` + res.job + `</td>
            </tr>
        </tbody>
     </table>`
    );
        $.ajax({
          url: "regis/getdata",
          type: "POST",
          dataType: "json",
          success: function(result) {
            if (result) {
              $("table").after(
                `<div class="form-group form-row my-2 mx-2">
                                <label>Choose data</label>
                                <select class="form-control" id="data" name="data"> ` +
                $.each(result, function(i, data) {
                  $("data").append(`<option>` + data.name + `</option>`);
                }) +
                `</select>
                  </div>`
              );
            } else {}
          }
        });
      } else {
        console.log(res);
      }
    }
  });
});

最佳答案

您始终需要附加完整的标签

$("table").after(
  `<div class="form-group form-row my-2 mx-2">
     <label>Choose data</label>
     <select class="form-control" id="data" name="data"></select>
   </div>`);
$data = $("#data");
$.each(result, function(i, data) {
  $data.append(`<option>${data.name}</option>`);
}) 

关于javascript - 对于使用 select 元素(ajax、bootstrap)时的每个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56848834/

相关文章:

javascript - WordPress TinyMCE 自定义按钮,带输入类型编号

javascript - 复制 “Unchecked chrome.runtime.lastError”警告

html - 我如何在超大屏幕中将图像居中?

javascript - 使用 JavaScript 将类添加到提交时的输入

javascript - onfocus vs onfocusin & onblur vs onfocusout

javascript - Jquery 和 Prototype 冲突

jquery - 如何获取 div 的高度并将其应用于另一个加载和使用 AngularJS 调整大小

javascript - 解析带有反斜杠的 JSON - Javascript

css - 将 Bootstrap 4 添加到 Slate V1 - 在 Chrome 开发者工具中获取两个索引

bootstrap-4 - 将时间选择器添加到 bootstrap 4 输入字段表单