0

我正在尝试从下面的 html 代码中删除一个类别。当我单击前一个删除或第一个。

--HTML代码--

<div id="catlist" name="catlist" style=" color:#fff; font-family:arial; font-size:12px;">

<input type="checkbox" value="<?php echo $row_cat['cat']; ?>" class="checkboxcat" id="<?php $ctn = $row_cat['cat']; echo $ctn; ?>"  name="catcheckbox" style="border:#cccccc 1px solid; background-color:#fff;">

<span class="cattext" id="<?php echo $ctn; ?>"><?php echo $ctn; ?></span>

<span class="CatDelete" id="<?php echo $ctn; ?>" style="position:relative; left:10px; color:#c3c3c3; font-size:10px; cursor:pointer;">Delete</span>

</div>

--JS代码--

$(".CatDelete").live('click',function() {

var valu = $('.checkboxcat').closest('input').find('checkbox').val();

var dataString = 'CatDelVal='+valu;
    $.ajax({     type: "POST",     
        url: "cat_delete.php",     
        data: dataString,     
        success: function(){       
    $('.success').fadeIn(1000);     }     });      
    return false;   


});


The issue is here: 
**var valu = $('.checkboxcat').closest('input').find('checkbox').val();**

当我单击删除时,必须删除该特定类别,但不知道为什么?

[更新] http://jsfiddle.net/7RrNN/

4

3 回答 3

1

我相信您的 JS 代码应该像这样更改:(使用on相反live,因为live已弃用)

$(".CatDelete").on('click', function() {

var valu = $(this).siblings('.checkboxcat').val();

var dataString = 'CatDelVal='+valu;
    $.ajax({     type: "POST",     
        url: "cat_delete.php",     
        data: dataString,     
        success: function(){       
    $('.success').fadeIn(1000);     }     });      
    return false;   
});

我相信PHP代码也应该像这样改变

<span class="CatDelete" id="<?php echo $ctn; ?>" data-id="<?php echo $row_cat['cat']; ?>" style="position:relative; left:10px; color:#c3c3c3; font-size:10px; cursor:pointer;">Delete</span>

于 2012-12-02T12:49:16.837 回答
1

您的页面上有三个具有相同 id 的元素,这是无效的 -ID必须是唯一的。

不确定$('.checkboxcat').closest('input').find('checkbox')应该做什么,但是: 中几乎没有任何元素因此<input>您不需要获取最近的输入父元素。此外,HTML 中没有<checkbox>元素。你的意思是以下吗?

$('input:checkbox.checkboxcat')
于 2012-12-02T12:53:08.687 回答
0

谢谢你的时间。我不知道为什么它不起作用。我刚刚重新编码,它工作正常。可能是简单的想法。没有把握。

于 2012-12-02T17:09:28.853 回答