javascript - 如何使用 javascript 生成输入类型下拉列表?

标签 javascript php jquery codeigniter

嗨,我正在使用 codeigniter。单击按钮时,我使用 javascript 动态添加行。 这是我的脚本

<script>
function displayResult() {
    var row = document.getElementById("test").insertRow(-1);
    row.innerHTML = '<td><input type="text" name="employee[]" value="" style="width:80px;"/></td><td><input type="text" name="start_time[]" value="" style="width:35px;"/></td><td><input type="text" name="pid[]" style="width:35px;"/></td><td><input type="text" name="description[]" class="description" value="" style="width:145px;"/></td><td><input type="text" class="type" value="" style="width:45px;"/></td><td><input type="text" class="qty_prch" value="" style="width:45px;"/></td><td><input type="text" class="qty_used" value="" style="width:45px;"/></td><td><input type="text" value="" style="width:70px;"/></td><td><input type="text" value="" style="width:70px;"/></td><td><input type="text" value="" style="width:70px;"/></td><td><input type="text" value="" style="width:70px;"/></td>';
}
</script> 

在此脚本中,我生成一行包含许多文本框的行。现在我需要一个 form_dropdown 而不是脚本中的第一个文本框(employee[]) 我的 form_dropdown 代码: 这里我从 Controller 文件中获取数据。我的数据库中有该员工的详细信息

<?php
      //form data
      $attributes = array('class' => 'form-horizontal', 'id' => '');
      $options_employee = array('' => "Select");
      foreach ($employee as $row)
      {
        $options_employee[$row['name']] = $row['name'];
      }

      ?>

这就是我在 View 页面中使用它的方式。

<?php
          echo '<div class="control-group">';

            echo '<div class="controls">';

              echo form_dropdown('employee', $options_employee, set_value('employee[]'), 'class="span2"');

            echo '</div>';
          echo '</div">';

          ?>

如何做到这一点有人可以帮我编码吗? 编辑01: enter image description here

最佳答案

当你有数据数组时,在 JS 中下拉菜单真的很容易。

您可以使用 JS 原生 map 函数和数组来轻松渲染菜单,如下所示。

JSON/对象:

$options_employee: [
  'Michael',
  'John',
  'Sam'
]

HTML:

<div id="employee-menu">
  <div class="control-group">
    <div class="controls">
      <select name="employee" class="span2">
        <option></option>
      </select>
    </div>
  </div>
</div>

JS:

mag.module("employee-menu", {
  view: function(state, props) {
    state.option = props.$options_employee.map(function(employee, key) {
      return {
        _value: key,
        _text: employee
      }
    })
  }
}, props)

这是完整的工作示例:http://jsbin.com/pexifodari/edit?html,js,output

希望有帮助!

关于javascript - 如何使用 javascript 生成输入类型下拉列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32647719/

相关文章:

Javascript 到 wordpress 网站?

javascript - 如何将基于回调的函数转换为基于 Promise 的函数?

javascript - 使用 "open with"对话框命名从 Canvas 保存的 PNG 文件

phpunit 检查日志文件

javascript - 使用页面上的添加按钮在 codeigniter 中添加另一个 ckeditor

jquery - 第 2 部分。选择和更改具有特定背景颜色的元素

javascript - Cordova PDFkit blob 流到 IPP 打印机?

php - 使用 !password_verify 时是否需要转义密码输入?

php - 将 JavaScript 变量作为隐藏输入传递给 PHP

javascript - 如果选中单选按钮更改父背景颜色