我想只获取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>
..........
请给我一些答案。 提前致谢
答案 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对象的键