删除Div并获取隐藏字段值 - 最佳方法

时间:2013-05-21 14:03:38

标签: jquery html

我有以下HTML示例

<div id="TestDiv_0">
  <input id="hf_0" type="hidden" value="0">
  <span class="checkBox checked">
</div>
<div id="TestDiv_1">
  <input id="hf_1" type="hidden" value="10">
  <span class="checkBox checked">
</div>
<div id="TestDiv_2">
  <input id="hf_2" type="hidden" value="23">
  <span class="checkBox">
</div>

动态HTML并且可能会增长

尝试使用JQUERY实现少量逻辑。

如果span已经检查了类,则场景为。我需要实现2件事

  1. 在逗号分隔字段中获取 type =“hidden”值(如果选中多个范围)。例如:在上面的HTML中我需要在变量

  2. 中获得0,10
  3. 删除特定的Div。例如:在上面的HTML中,我需要删除TestDiv_0,TestDiv_1。

  4. 实现此目的的最佳方法是什么?我尝试获取div的计数并循环查找类并删除Div。但是想到会有更好的方法。

3 个答案:

答案 0 :(得分:6)

var arr = $('span.checked').map(function(){
     var id = $(this).siblings("input[type='hidden']").val(); 
     $(this).closest('div').remove();
     return id;
}).get().join(',');

演示--> http://jsfiddle.net/pEnDY/

答案 1 :(得分:2)

DEMO

var checkedItems=[];
function handleChecked(){
    $("span.checked").each(function(){
        checkedItems.push($(this).siblings("input[type='hidden']").val());
        $(this).parent().remove();
    });
    console.log(checkedItems);
}
handleChecked();

答案 2 :(得分:1)

试试这个:

var values = [];

// get all spans with class 'checked'
$('div > span.checked').each(function() {

    // get the hidden field value
    values.push($(this).prev('[type="hidden"]').val();

    // remove the div containing this span
    $(this).parent().remove();

});

// get comma separated values
values = values.join(',');