如何从数据表单元格中的下拉列表中获取值

时间:2015-07-09 10:46:10

标签: javascript jquery datatables

我有两个数据表,并且在第二个数据库中创建了下拉列表,其中包含第一个数据。我创建了一个jsbin here

如果向第一个表添加几条指令(添加任何文本然后单击添加指令) - 然后单击Load Copied Data按钮,您将看到从第一个表中填充下拉框。< / p>

如果我这样做:

$('#btnTest').on('click', function (e) {

    var tsor = $('#tblSORSInstall').dataTable();
    var ins = tsor.fnGetData();


    alert(ins);

});

它基本上为我提供了下拉列表的html - 我如何获得他们选择的值?我正在考虑使用隐藏的列并在下拉列表onchange上更新,但有更好的方法吗?

提前致谢

2 个答案:

答案 0 :(得分:3)

您可以使用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 - updated

答案 1 :(得分:0)

使用<!DOCTYPE html> <html> <head> <script type="text/javascript"> function populate_dropdown(country) { switch(country) { case "america": document.forms[0].states.length = 2; document.forms[0].states.disabled = false; document.forms[0].states.options[0].text = 'Washington'; document.forms[0].states.options[0].value = 'Washington'; document.forms[0].states.options[1].text = 'Florida'; document.forms[0].states.options[1].value = 'Florida'; break; case "india": document.forms[0].states.length = 2; document.forms[0].states.disabled = false; document.forms[0].states.options[0].text = 'Orissa'; document.forms[0].states.options[0].value = 'Orissa'; document.forms[0].states.options[1].text = 'Punjab'; document.forms[0].states.options[1].value = 'Punjab'; break; default: document.forms[0].states.length = 1; document.forms[0].states.options[0].text = 'Select a country first'; document.forms[0].states.disabled = true; } } </script> </head> <body> <form action="this.html" method="post"> <p> <input id="America" type="radio" name="country" value="America" onclick="populate_dropdown('america')" /><label for="America">America</label><br /> <input id="India" type="radio" name="country" value="India" onclick="populate_dropdown('india')" /><label for="India">India</label><br /> <select disabled="disabled" name="states"> <option>Select a country first</option> </select> </p> </form> </body> </html> 可以获取所有表行节点,然后您可以遍历这些节点并获取选择值。

最终代码看起来像

tsor.fnGetNodes()