我有两个数据表,并且在第二个数据库中创建了下拉列表,其中包含第一个数据。我创建了一个jsbin here
如果向第一个表添加几条指令(添加任何文本然后单击添加指令) - 然后单击Load Copied Data
按钮,您将看到从第一个表中填充下拉框。< / p>
如果我这样做:
$('#btnTest').on('click', function (e) {
var tsor = $('#tblSORSInstall').dataTable();
var ins = tsor.fnGetData();
alert(ins);
});
它基本上为我提供了下拉列表的html - 我如何获得他们选择的值?我正在考虑使用隐藏的列并在下拉列表的onchange
上更新,但有更好的方法吗?
提前致谢
答案 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()