如何使用jquery弹出标签名称?
我使用jQuery来从被检查,如果未选中该行,它不应该跳出一排蹦出标签的名字,但它是上弹出了所有3行如何使用jquery弹出标签名称?
HTML代码:
<table>
<tr>
<td>APPLICATION | </td>
<td>ENV | </td>
<td>REGION | </td>
<td>URL | </td>
<td><input type="button" value="Edit" class="edit">
<input type="button" value="Update" class="update">
<input type="reset" value="Reset" class="reset"> </td>
</tr>
<tr>
<td><label class='applabel'>app1</label> <input type="text" class="app" hidden></td>
<td>env1 | </td>
<td>region1 | </td>
<td>url1 | </td>
<td><input type="checkbox" class="ed-up"></td>
</tr>
<tr>
<td><label class='applabel'>app2</label> <input type="text" class="app" hidden></td>
<td>env2 | </td>
<td>region2 | </td>
<td>url2 | </td>
<td><input type="checkbox" class="ed-up"></td>
</tr>
<tr>
<td><label class='applabel'>app3</label> <input type="text" class="app" hidden> </td>
<td>env3 | </td>
<td>region3 | </td>
<td>url3 | </td>
<td><input type="checkbox" class="ed-up"></td>
</tr>
</table>
javascript代码:
$(function() {
$('.reset').on('click',function() {
$(':checkbox').prop('checked',false);
$(':text').hide();
$('.applabel').show();
});
$('.edit').on('click',function() {
$('.ed-up').each(function(){
if($('.ed-up').prop('checked') == true)
alert($(this).next('.applabel').text());
});
});
});
我使用各种方法来遍历行,但是,想要蹦出我的意思是警告该行只有当复选框被选中
考虑以下几点:$(this).closest('tr').find('.applabel').text()
$('.edit').on('click',function() {
$('.ed-up').each(function(){
if($(this).prop('checked') == true)
alert($(this).closest('tr').find('.applabel').text());
});
});
变化
if($('.ed-up').prop('checked') == true)
//changed to
if($(this).prop('checked') == true)
alert($(this).next('.applabel').text());
//changed to
alert($(this).closest('tr').find('.applabel').text());
您没有使用.each()
传递给函数的上下文。
下面的行:
if($('.ed-up').prop('checked') == true)
只检查第一匹配.ed-up
的.checked
属性。您应该使用this
:
if($(this).prop('checked') == true)
请尝试此代码。
$(function() {
$('.reset').on('click',function() {
$(':checkbox').prop('checked',false);
$(':text').hide();
$('.applabel').show();
});
$('.edit').on('click',function() {
$('.ed-up').each(function(){
if($(this).prop('checked') == true)
alert($(this).closest('tr').find('.applabel').text());
});
});
});
希望这会帮助你。
当他们已经给出相同的解决方案时,使用其他代码并不好。但不错的努力**复制过去**。 – Manwal
@manwal你做了**小错误**,我纠正了代码发布我的答案。这不是复制过去。 – balachandar
哦,那是什么? – Manwal
需要很多人,这是我需要学习最多的概念 – Amol