jquery标签值和输入分组

时间:2013-08-02 02:58:01

标签: jquery

我有一个我正在创建的表单,其中的值需要根据选中的值等进行更改。

我知道我正在过度思考这个问题。

<div>   
   <span align="right">Skill 1:</span>&nbsp;&nbsp;&nbsp;&nbsp;  
   <span class="amt" name="s_Skill1">3</span>&nbsp;&nbsp;
   <input name="i_Skill1" type="checkbox" />
</div>

所以这个特殊技能花费3分,但如果选中其中一个复选框,则只有1分。我在确定何时检查某些内容与更改值时存在一些问题。

if ($("#i_Skill1").is(':checked')) {
            alert("changing radio button");
            $("#s_Skill1").text("0");
        }

似乎我不得不跳过很多箍,就像我应该能够改变价值并确定我想要/需要改变的东西。

这是一个小提琴 - http://jsfiddle.net/mattcushing/K5szE/31/是的,我知道,它是龙与地下城,但这是我儿子要求的东西,我认为这是对jquery的一次很好的尝试:)

2 个答案:

答案 0 :(得分:1)

#id是ID选择器,您必须将name更改为id

或者有多个这样的div,你最好使用class

<div>   
   <span align="right">Skill 1:</span>&nbsp;&nbsp;&nbsp;&nbsp;  
   <span class="amt" name="s_Skill1" class="s_Skill">3</span>&nbsp;&nbsp;
   <input name="i_Skill1" class="i_Skill" type="checkbox" />
</div>

然后:

$('.i_Skill').each(function() {
  if ($(this).is(':checked')) {
    $(this).siblings('.s_Skill').text('0');
  }
});

答案 1 :(得分:0)

您应该按name 引用元素,而不是id,因为在这种情况下没有指定元素。

if ($('span[name="i_Skill1"]').is(':checked')) {
    alert("changing radio button");
    $('input[name="s_Skill1"]').text("0");
}