我试图在用户点击元素内的文本时获取表数据。我已经尝试过多个java脚本,但我无法将值发送回控制器进行进一步处理。如果你能帮助我,我真的很感激。我已经为你添加了必要的代码,看看我是否做错了什么。
<div class="box-content">
<table id="suppliertable" class="table table-striped table-bordered bootstrap-datatable datatable">
<thead>
<tr>
<th>Supplier</th>
<th>Open Range</th>
<th>Fill Content</th>
<th>Total Match</th>
</tr>
</thead>
<tbody>
<?php foreach($present_all_suppliers as $v): ?>
<tr>
<td class="center" style="color:#0c595b;"><?php echo $v->supplierCompany;?> </a> </td>
<td class="center">70%</td>
<td class="center">12%</td>
<td class="center">82%</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
Java脚本:
document.getElementById ( "tdid" ).textContent
var tdElem = document.getElementById ( "tdid" );
var tdText = tdElem.innerText | tdElem.textContent;
答案 0 :(得分:0)
您需要从Javascript将数据传回控制器。这意味着当用户点击有问题的<td>
时,必须将AJAX请求发送到适当的控制器,然后控制器可以执行一些服务器操作或返回一些将由AJAX回调函数使用的数据。 / p>
这是一个例子: http://www.w3schools.com/php/php_ajax_php.asp
这显示了如何使用AJAX和PHP对HTML DOM对象进行动态更改。
这是关于onclick和AJAX以及PHP的stackoverflow的另一个问题: Call a PHP function after onClick HTML event
您需要学习的是AJAX以及如果您希望使页面看起来更现代(HTML5),如何构建应用程序以使用它。
答案 1 :(得分:0)
这需要一些花哨的ajax和javascript附件。希望这个例子能有所帮助。
http://jsfiddle.net/qpe2wrmt/1/
function addEventHandler(elem,eventType,handler){
if (elem.addEventListener)
elem.addEventListener(eventType,handler,false);
else if (elem.attachEvent)
elem.attachEvent ('on'+eventType,handler);
}
var items = document.getElementsByClassName("clickable");
i = items.length;
while(i--){
(function(item){
addEventHandler(item,"click",function(){
// make your ajax call here
window.alert("clicked on a thing: "+item.innerHTML);
});
})(items[i]);
}
1)添加一个可点击的&#39;每个你希望成为cliack的td
2)按类名循环浏览所有可点击的项目,并为每个项目分配一个事件处理程序。
3)点击时发出XHR请求。