【问题标题】:How to add my 2 radio buttons value in jquery?如何在 jquery 中添加我的 2 个单选按钮值?
【发布时间】:2011-08-08 18:10:39
【问题描述】:

我有这个代码:

<div id="star-rating">
<script type="text/javascript">
$(function(){
  $('#star-rating form').submit(function(){
  $('.test',this).html('');
   $('input',this).each(function(){
   if(this.checked) 
  //$('.test',this.form).append(''+this.name+': '+this.value+'<br/>');
$('.test',this.form).append(this.value);
});
 return false;
});
});
</script>

<form name="form1" method="post" action="<?=base_url();?>rate/student">
    <div class="dbtable">

    <table cellpadding="0" cellspacing="0" border="0"><tbody>
    <th colspan="4" align="left">Personal Appearance</th>
    <tr><td width="10px"></td><td width="60%">Neatness</td>
        <td width="20%">
            <input name="neat" type="radio" class="neat-star" value="1" title="Poor"/>
            <input name="neat" type="radio" class="neat-star" value="2" title="Fair"/>
        </td>
        </tr>

    <tr><td></td><td>Health</td>
        <td>
            <input name="health" type="radio" class="health-star" value="1" title="Poor"/>
            <input name="health" type="radio" class="health-star" value="2" title="Fair"/>
        </td>
        </tr>
    <tr><td></td><td align="right"></td>
        <td><input type="submit" value="Submit scores!" /></td>
        <td><div class="test Smaller">
            <span style="color:#FF0000">Results</span>
            </div>
        </td></tr>

所以现在我有 2 个电台星级。我想要的是当我单击提交分数时,它将添加 2 个选定的单选框。例如,当单击值为 1 的单选按钮整洁和值为 2 的单选按钮健康时,结果将在我的 div class=test 中显示 3 coz 1+2=3。谁能帮我解决这个问题。

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:
    $('#star-rating form').submit(function() {
        $('.test', this).html('');
        var total = 0;
        $('input', this).each(function(){
            if(this.checked) {
                total += parseInt(this.value, 10);
            }
        }
        //Do something with total
        return false;
    });
    

    您需要使用parseInt 将字符串转换为数字。否则,您只会将值连接到一个字符串上。

    【讨论】:

    • 让它工作。 ^_^。跟进问题。在我的第一个问题中,我需要对 2 台收音机求和并得到其总数。现在我怎样才能用固定数字 16 来划分总数?例如 16 个/总计
    • @Dean - 你想用 16 除以总数吗?然后按照你的建议去做:total = 16/total;!
    • 哈哈,搞定了。自己测试过。再次感谢詹姆斯的帮助。 ^_^
    • 没问题,很高兴我能帮上忙 :)
    【解决方案2】:
    $('#star-rating form').submit(function() {
        var score = $(this).find('.neat-star').val()
                  + $(this).find('.health-star').val();
        $(this).find('.test').html(score);
        return false;
    });
    

    【讨论】:

      【解决方案3】:

      试试这个

      (function(){
        $('#star-rating form').submit(function(){
            var neatVal, healthVal;
            neathVal = $(this).find("input[name=neat]:checked").val();
            healthVal = $(this).find("input[name=health]:checked").val();
            $('.test', this).append(praseInt(neatVal) + parseInt(healthVal ));
            return false;
        });
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多