在li jquery中选中复选框时获取输入文本值?

时间:2014-01-28 08:18:58

标签: javascript jquery html checkbox

我想只获取li的输入值,选择复选框并发送到控制器,因为键值对表示键作为复选框ID,值作为输入文本框值。 ul里面有多个li 我找到了像

这样的东西
$('li').find('input:checked, input[type=text]').map(function(i,el) {
        getInputVal=  el.type === 'checkbox' 
                ? el.value 
                :""; 
    });

但不行。

以下是我的html代码结构。

<ul id="sortable">

<li id="row_39" class="img">
            <div class="checkbox"> 
                <input type="checkbox" value="Mzk=" class="set_left" name="remove_img[]" id="remove_img[]">
                <b><label class="set_center">1</label></b>
            </div> 
            <div class="img_main">
                <a rel="gallery" class="boxer" title="AA" href="/prod_images/prod_21_13905400722.jpg">
                    <img width="'200  height=" 136="" src="/prod_images/prod_21_13905400722.jpg">
                </a>
            </div>
            <div class="desc">
                <input type="text" value="AA" class="textbox" name="update_caption[]">
            </div>
    </li>
    <li id="row_43" class="img">
            <div class="checkbox"> 
                <input type="checkbox" value="NDM=" class="set_left" name="remove_img[]" id="remove_img[]">
                <b><label class="set_center">2</label></b>
            </div> 
            <div class="img_main">
                <a rel="gallery" class="boxer" title="AA" href="/prod_images/prod_21_13905400726.jpg">
                    <img width="'200  height=" 134="" src="/prod_images/prod_21_13905400726.jpg">
                </a>
            </div>
            <div class="desc">
                <input type="text" value="AA" class="textbox" name="update_caption[]">
            </div>
    </li>
          ..........    

请给我一些答案。 提前致谢

1 个答案:

答案 0 :(得分:5)

我认为你在寻找的是

var params = {};
$('li input:checked').each(function (i, el) {
    params[this.id] = $(this).closest('li').find('input:text').val()
});
console.log(params)

注意:您的复选框ID是静态的,因此您将覆盖对象中的相同键,您li元素的id中包含动态部分,是否要将其用作params对象的键