如何从下拉表单元格中获取值

How to get value from dropdown in datatables cell

本文关键字:单元格 获取 表单      更新时间:2023-09-26

我有两个数据表和有一个下拉菜单创建在第二个与第一个数据。我在这里创建了一个jsbin

如果你在第一个表中添加一些指令(添加任何文本,然后单击add Instruction) -然后单击Load Copied Data按钮,你会看到下拉框从第一个表中填充。

如果我这样做:

$('#btnTest').on('click', function (e) {
    var tsor = $('#tblSORSInstall').dataTable();
    var ins = tsor.fnGetData();

    alert(ins);
});

它基本上给了我html的下拉 -我怎么得到哪个值他们选择了?我想有一个隐藏的列,并在下拉onchange上更新,但是有更好的方法吗?

Thanks in advance

您可以使用jQuery.map()生成选定文本/值的数组,如下所示。

$('#btnTest').on('click', function (e) {
    //var tsor = $('#tblSORSInstall').dataTable();
    var ins = $('#tblSORSInstall').find("tbody select").map(function() {
        return $(this).find(":selected").text() // get selected text
        //return $(this).val() // get selected value
    }).get()
    alert ( JSON.stringify(ins, null, 2) )
});

这是你的JS Bin更新

使用tsor.fnGetNodes(),您可以获得所有表行节点,然后您可以通过这些循环并获得选择值。

最终代码看起来像

 $('#btnTest').on('click', function (e) {
    var tsor = $('#tblSORSInstall').dataTable();
    var ins = tsor.fnGetData();
    var a = tsor.fnGetNodes();
    $.each(tsor.fnGetNodes(), function (index, value) {
        alert($(value).find('select').val());
    });  
});