Pao*_*aJ. 25 javascript jquery templates tornado jquery-mobile
如何重定向另一个页面并从表中传递url中的参数?我在tornato模板中创建了这样的东西
<table data-role="table" id="my-table" data-mode="reflow">
<thead>
<tr>
<th>Username</th>
<th>Nation</th>
<th>Rank</th>
<th></th>
</tr>
</thead>
<tbody>
{% for result in players %}
<tr>
<td>{{result['username']}}</td>
<td>{{result['nation']}}</td>
<td>{{result['rank']}}</td>
<td><input type="button" name="theButton" value="Detail"
></td>
</tr>
</tbody>
{% end %}
</table>
Run Code Online (Sandbox Code Playgroud)
我希望当我按下细节重定向/player_detail?username=username
并显示该播放器的所有细节时.我尝试使用href="javascript:window.location.replace('./player_info');"
内部输入标记,但不知道如何将结果['用户名']放入.如何做到这一点?
pal*_*aѕн 38
将用户名作为data-username
属性设置为按钮以及类:
HTML
<input type="button" name="theButton" value="Detail" class="btn" data-username="{{result['username']}}" />
Run Code Online (Sandbox Code Playgroud)
JS
$(document).on('click', '.btn', function() {
var name = $(this).data('username');
if (name != undefined && name != null) {
window.location = '/player_detail?username=' + name;
}
});?
Run Code Online (Sandbox Code Playgroud)
编辑:
此外,您只需检查undefined
&& null
使用:
$(document).on('click', '.btn', function() {
var name = $(this).data('username');
if (name) {
window.location = '/player_detail?username=' + name;
}
});?
Run Code Online (Sandbox Code Playgroud)
正如在这个答案中提到的那样
if (name) {
}
Run Code Online (Sandbox Code Playgroud)
如果值不是,则评估为真:
以上列表表示ECMA/Javascript中所有可能的错误值.
做这个 :
<script type="text/javascript"> function showDetails(username) { window.location = '/player_detail?username='+username; } </script> <input type="button" name="theButton" value="Detail" onclick="showDetails('username');">
绑定按钮,这是通过jQuery完成的:
$("#my-table input[type='button']").click(function(){
var parameter = $(this).val();
window.location = "http://yoursite.com/page?variable=" + parameter;
});
Run Code Online (Sandbox Code Playgroud)
小智 6
这是一个不依赖于 JQuery 的通用解决方案。只需修改window.location的定义即可。
<html>
<head>
<script>
function loadNewDoc(){
var loc = window.location;
window.location = loc.hostname + loc.port + loc.pathname + loc.search;
};
</script>
</head>
<body onLoad="loadNewDoc()">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
212374 次 |
最近记录: |