Hel*_*rld 2 javascript jquery tablesorter
1)下面的代码将在加载到页面加载时对输入框进行排序,但如果我尝试编辑任何<input>s然后尝试再次对列进行排序,则按原始值排序而不是新值,可以你帮我解决这个问题?
2)如果我在输入新的数字<input>然后点击列标题进行排序,那么我的输入模糊事件将不会触发,为什么以及你知道如何解决这个问题?
<table id="myTable" class="tablesorter">
<thead>
<tr>
<th>Last Name</th>
<th>Amounts</th>
</tr>
</thead>
<tbody>
<tr>
<td>Smith1</td>
<td><input type="text" value="1"/></td>
</tr>
<tr>
<td>Smith2</td>
<td><input type="text" value="2"/></td>
</tr>
<tr>
<td>Smith3</td>
<td><input type="text" value="3"/></td>
</tr>
<tr>
<td>Smith4</td>
<td><input type="text" value="4"/></td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
$(document).ready(function() {
$.tablesorter.addParser({
id: 'input',
is: function(s) {
return false;
},
format: function(s, table, cell) {
return $('input', cell).val();
},
type: 'numeric'
});
$("#myTable").tablesorter({
headers: {
1: {
sorter:'input'
}
}
});
$('input').blur(function(){
alert($(this).val());
});
});
Run Code Online (Sandbox Code Playgroud)
小智 5
Mottie的回答对我有用 - 谢谢!我不喜欢为了防止重复绑定而添加一个类,所以我将逻辑移到了外面:
$("#mytable tbody").on("keyup", "input", function(event){
var table = $(this).closest("table");
var cellElement = $(this).closest("td")[0];
table.trigger("updateCell", [cellElement, false]);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2257 次 |
| 最近记录: |