如何将 HTML table 数据从视图传递到 grails 中的控制器?
How can I pass HTML table data from a view to controller in grails?
我是 grails 的新手。我正在为我的项目创建一个 SMS 发送模块。在这里,我从用户那里获取了一些联系电话,并将其显示在动态创建的 'TD' 值中。现在我想将这个 'TD' 值作为列表传递给我的控制器。
def controller(){
def var = params.name
}
这里不起作用,因为它不是字段值。
获取所有 table td 到数组中以逗号分隔的联系电话号码。
在下面的代码中添加了两种方式。首先,联系电话是最后一列。第二个,所有 td 值都有 class 名称。
// First way
var contactNumbers= []
$("#example tbody tr").each(function() {
contactNumbers.push($(this).find("td:last-child").html());
});
console.log("If Contact number column is on last"+contactNumbers.join())
// Second way
var contactNumbers1= []
$(".cnTd").each(function(i){
contactNumbers1.push($(this).text())
})
console.log("Contact numbers by class"+contactNumbers1.join())
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<table class="table" id="example">
<thead>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Email</th>
<th>Contact Number</th>
</tr>
</thead>
<tbody>
<tr>
<td>John</td>
<td>Doe</td>
<td>john@example.com</td>
<td class="cnTd">5675677567</td>
</tr>
<tr>
<td>Mary</td>
<td>Moe</td>
<td>mary@example.com</td>
<td>90987786756</td>
</tr>
<tr>
<td>July</td>
<td>Dooley</td>
<td>july@example.com</td>
<td>3455657457</td>
</tr>
</tbody>
</table>
</div>
现在您使用隐藏表单值或通过发送 ajax 请求或查询参数将收集到的值发送到控制器。在控制器端,只需使用 split(',')
或 tokenize(',')
方法即可获取数字列表。
希望对您有所帮助。
我是 grails 的新手。我正在为我的项目创建一个 SMS 发送模块。在这里,我从用户那里获取了一些联系电话,并将其显示在动态创建的 'TD' 值中。现在我想将这个 'TD' 值作为列表传递给我的控制器。
def controller(){
def var = params.name
}
这里不起作用,因为它不是字段值。
获取所有 table td 到数组中以逗号分隔的联系电话号码。
在下面的代码中添加了两种方式。首先,联系电话是最后一列。第二个,所有 td 值都有 class 名称。
// First way
var contactNumbers= []
$("#example tbody tr").each(function() {
contactNumbers.push($(this).find("td:last-child").html());
});
console.log("If Contact number column is on last"+contactNumbers.join())
// Second way
var contactNumbers1= []
$(".cnTd").each(function(i){
contactNumbers1.push($(this).text())
})
console.log("Contact numbers by class"+contactNumbers1.join())
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<table class="table" id="example">
<thead>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Email</th>
<th>Contact Number</th>
</tr>
</thead>
<tbody>
<tr>
<td>John</td>
<td>Doe</td>
<td>john@example.com</td>
<td class="cnTd">5675677567</td>
</tr>
<tr>
<td>Mary</td>
<td>Moe</td>
<td>mary@example.com</td>
<td>90987786756</td>
</tr>
<tr>
<td>July</td>
<td>Dooley</td>
<td>july@example.com</td>
<td>3455657457</td>
</tr>
</tbody>
</table>
</div>
现在您使用隐藏表单值或通过发送 ajax 请求或查询参数将收集到的值发送到控制器。在控制器端,只需使用 split(',')
或 tokenize(',')
方法即可获取数字列表。
希望对您有所帮助。