0

大家好,我正在处理 jquery,我在 span 标签中有一个值,我需要获取该值,并且需要在检查后显示在文本框中,如果我检查了多个 boxex,我需要添加这些值并且必须在文本框中显示

这里我的代码如下:

        <input type="checkbox"  />
        <span>100</span>
        <div class="clear"></div>
        <input type="checkbox" />
        <span>200</span>
        <div class="clear"></div>
        <input type="checkbox" />
        <span>300</span>
        <div class="clear"></div>
        <input type="checkbox" />
        <span>400</span>
         <input type="text" />

任何人都可以帮助完成这项工作提前谢谢

4

2 回答 2

1

您可以使用此代码收集所有检查的值。

如果您将 HTML 更改为:

<button id="go">Test</button>
<div class="container">
    <input type="checkbox"  />
    <span>100</span>
</div>
<div class="container">
    <input type="checkbox" />
    <span>200</span>
</div>
<div class="container">
    <input type="checkbox" />
    <span>300</span>
</div>
<div class="container">
    <input type="checkbox" />
    <span>400</span>

</div>
<input id="results" type="text">​

然后,您可以使用它从所有选中的框中收集文本。您可以在不更改 HTML 的情况下执行此操作,但这比维护更改更清洁、更安全。

$(document).ready(function() {
    $("#go").click(function() {
        var data = $("input:checked").map(function() {
            return $(this).closest(".container").find("span").text();
        }).get().join(", ");
        $("#results").val(data);
    });
});​

工作演示:http: //jsfiddle.net/jfriend00/jLEDC/

于 2012-11-03T08:13:03.223 回答
1

使用next方法,您可以选择复选框的下一个兄弟姐妹。

$('input[type=checkbox]').change(function(){
      var val = 0;
      $('input[type=checkbox]:checked').each(function(){
          val += parseInt( $(this).next().text(), 10 )    
      })  

     $('input[type=text]').val(val)
})
于 2012-11-03T08:04:06.030 回答