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

Javascript 在li jquery中选中复选框时获取输入文本值?,javascript,jquery,html,checkbox,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 :""; }); 但不

我只想从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.
  • 2.
  • ..........

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

我想你要找的是

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对象的键

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对象的键

@BlackSheep看起来像是我弄糟了-正在使用.has()处理另一个版本然后更改了逻辑,但忘记了更改选择器-更新应该会修复它(复选框问题的id仍然存在)我明白了,我正要发布一个答案,它将创建一个对象数组。由于您提出了合理的解决方案,我没有发布。@arun是的,我想使用key作为输入类型复选框,使用value作为输入类型文本。@nileshwani哪个键。。。。你能分享一个生成的html示例和所需的result@nileshwani现在你想要什么output@BlackSheep看起来我搞砸了-正在使用.has()开发另一个版本,然后更改了逻辑,但忘记更改选择器-我想更新应该会解决它(复选框问题的id仍然存在)我明白了,我正要发布一个答案,它将创建一个对象数组。由于您提出了合理的解决方案,我没有发布。@arun是的,我想使用key作为输入类型复选框,使用value作为输入类型文本。@nileshwani哪个键。。。。你能分享一个生成的html示例和所需的result@nileshwani现在期望的输出是什么