javascript - 选择并显示为表行创建的每个新 "select option"中的值

标签 javascript jquery html

到目前为止,我找不到以下问题的解决方案。如果有人能在这方面帮助我,我将非常高兴。

我有一个简单的表格,其中有 1 个选择框和一个文本框。我正在使用 jQuery 脚本添加按钮添加表行。同样还有删除选项。

我的目标是在每行中显示选定的名称。但是,当我添加行然后选择“选择选项”时,每行的名称都会发生变化。这不是这里的目的。

这是用于测试的 fiddle 链接 - https://jsfiddle.net/rmse9nw3/

<table id="datagrid" class="display table1">

  <th>Employee Code</th>
  <th>Employee Name</th>

<tr id="row1">
    <td > 
    <select name="empid" class="dropdn">
        <option>Please select...</option>
        <option>Jhon Doe</option>
        <option>George Antony</option>
        <option>David Blare</option>
        <option>Kene Roy</option>
    </select> 

    </td>

    <td>
        <input type='text' readonly name="name" size="20" class="name" value=""/>
    </td>
    <td>
        <input type="button" name="addRow" class="add" value='Add'/>
    </td>
    <td>
        <input type="button" name="removeRow" class="removeRow" value='Delete'/>
    </td>

而 jQuery 是 -

$(document).ready(function () {

    $(document).on('click','#datagrid .add',function () {

           var row=$(this).closest('tr');
           var clone = row.clone();
           var tr= clone.closest('tr');
           tr.find('input[type=text]').val('');
           $(this).closest('tr').after(clone);
           var $span=$("#datagrid tr");
           $span.attr('id',function (index) {
           return 'row' + index;

        });

    });

    $(document).on('click','#datagrid .removeRow',function () {
        if ($('#datagrid .add').length > 1) {
            $(this).closest('tr').remove();
        }

    });

}); 

var dropDown = ".dropdn";
var empName = ".name";

$(document).on("change",(dropDown),function(e){

    var value = $.trim($(this).val());

    $(empName).val(value);

}); 

最佳答案

您可以使用 :last 伪选择器来选择类名为“name”的最后一个克隆元素,

var dropDown = ".dropdn";
var empName = ".name:last";//select last element having classname named 'name'

$(document).on("change",(dropDown),function(e){

    var value = $.trim($(this).val());
    $(empName).val(value);

}); 

关于javascript - 选择并显示为表行创建的每个新 "select option"中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43851551/

相关文章:

jquery - 轻量级和简单的 jquery 自动建议/自动完成?

javascript - Jquery 折叠前一个 tr 并在单击时展开另一个 tr

javascript - 未捕获的 NotFoundError : Failed to execute 'appendChild' on 'Node' : The new child element is null

php - Selenium 下拉选项和 USGS 门户网站

javascript - 将输入值与数据库 Coldfusion 中的值进行比较

html - 将鼠标悬停在另一个 div 上时更改一个 div 的样式

javascript - 在 React.js 中更改父级的状态

php - 替代 $_GET

javascript - 自举网格内的视差效果

javascript - 如何在 React.js 中显示下拉菜单和隐藏其他菜单