无法添加单选按钮的值
Cannot add value of radio button
$(document).ready(function() {
$('.stars input[type="radio"]').on('change', function(){
var radio1 = ( typeof $('.starRadio:checked').eq(0).val() == 'undefined' ) ? 0 : Number( $('.starRadio:checked').eq(0).val() );
var radio2 = ( typeof $('.starRadio:checked').eq(1).val() == 'undefined' ) ? 0 : Number( $('.starRadio:checked').eq(1).val() );
$('.output').html(radio1 + radio2)
})
});
<html>
<head><title>Star Rating</title></head>
<body>
<link rel="stylesheet" href="style.css" />
<form>
<h2> Teacher 1: </h2>
<div class="stars">
<input type="radio" name="star_a" class="star-1" id="star_a-1" value=1 />
<label class="star-1" for="star_a-1">1</label>
<input type="radio" name="star_a" class="star-2" id="star_a-2" value=2 />
<label class="star-2" for="star_a-2">2</label>
<input type="radio" name="star_a" class="star-3" id="star_a-3" value=3 />
<label class="star-3" for="star_a-3">3</label>
<input type="radio" name="star_a" class="star-4" id="star_a-4" value=4 />
<label class="star-4" for="star_a-4">4</label>
<input type="radio" name="star_a" class="star-5" id="star_a-5" value=5 />
<label class="star-5" for="star_a-5">5</label>
<span></span>
</div>
<div class="stars">
<input type="radio" name="star_b" class="star-1" id="star_b-1" value=1 />
<label class="star-1" for="star_b-1">1</label>
<input type="radio" name="star_b" class="star-2" id="star_b-2" value=2 />
<label class="star-2" for="star_b-2">2</label>
<input type="radio" name="star_b" class="star-3" id="star_b-3" value=3 />
<label class="star-3" for="star_b-3">3</label>
<input type="radio" name="star_b" class="star-4" id="star_b-4" value=4 />
<label class="star-4" for="star_b-4">4</label>
<input type="radio" name="star_b" class="star-5" id="star_b-5" value=5 />
<label class="star-5" for="star_b-5">5</label>
<span></span>
</div>
<span id="sum"></span>
</form>
<script src="script.js">
</body>
</html>
这是我试图执行的代码。但是我在浏览器上运行的HTML代码没有得到任何结果。我真的很困惑。代码在fiddle上运行得很好,但我不知道为什么它在我的浏览器上不起作用。
- 让所有的收音机都有相同的类,这样jQuery就可以轻松地选择它们
- 所有html属性都应具有
''
或""
- 并检查值是否已定义,否则将其设为0
$(document).ready(function() {
$('.stars input[type="radio"]').on('change', function(){
var radio1 = ( typeof $('.starRadio:checked').eq(0).val() == 'undefined' ) ? 0 : Number( $('.starRadio:checked').eq(0).val() );
var radio2 = ( typeof $('.starRadio:checked').eq(1).val() == 'undefined' ) ? 0 : Number( $('.starRadio:checked').eq(1).val() );
$('.output').html(radio1 + radio2)
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="stars">
<input type="radio" name="star_a" class="starRadio star-1" id="star_a-1" value="1" />
<label class="star-1" for="star_a-1">1</label>
<input type="radio" name="star_a" class="starRadio star-2" id="star_a-2" value="2"/>
<label class="star-2" for="star_a-2">2</label>
<input type="radio" name="star_a" class="starRadio star-3" id="star_a-3" value="3"/>
<label class="star-3" for="star_a-3">3</label>
<input type="radio" name="star_a" class="starRadio star-4" id="star_a-4" value="4"/>
<label class="star-4" for="star_a-4">4</label>
<input type="radio" name="star_a" class="starRadio star-5" id="star_a-5" value="5"/>
<label class="star-5" for="star_a-5">5</label>
<span></span>
</div>
<div class="stars">
<input type="radio" name="star_b" class="starRadio star-1" id="star_b-1" value="1"/>
<label class="star-1" for="star_b-1">1</label>
<input type="radio" name="star_b" class="starRadio star-2" id="star_b-2" value="2"/>
<label class="star-2" for="star_b-2">2</label>
<input type="radio" name="star_b" class="starRadio star-3" id="star_b-3" value="3"/>
<label class="star-3" for="star_b-3">3</label>
<input type="radio" name="star_b" class="starRadio star-4" id="star_b-4" value="4"/>
<label class="star-4" for="star_b-4">4</label>
<input type="radio" name="star_b" class="starRadio star-5" id="star_b-5" value="5"/>
<label class="star-5" for="star_b-5">5</label>
<span></span>
</div>
<div class="output"></div>
EDIT:HTML中有一个错误,您需要更改它才能使此代码正常工作。确保value
s不在右反斜杠(/
)旁边。例如,更改此行:
<input type="radio" name="star_a" class="star-2" id="star_a-2" value=2/>
change this ^
对此:
<input type="radio" name="star_a" class="star-2" id="star_a-2" value=2 />
to this ^
您可以有一个JavaScript/jQuery脚本来运行单选按钮的
onchange
,如下所示:
$("input").change(function() {
if($("input[name=star_a]").val() == "1" && $("input[name=star_b]").val() == "1") {
var sum = parseInt($("input[name=star_a]:checked").val()) + parseInt($("input[name=star_b]:checked").val());
alert(sum);
$("#sum").text(sum);
}
});
请参阅JSFiddle上的一个工作示例。
相关文章:
- 复选框/单选按钮-添加所选项目的总价
- 动态添加更多单选按钮并将其删除
- 动态添加单选按钮值
- 将文本框/单选按钮/和下拉列表中的信息添加到dataTable
- 根据单选按钮值添加到值
- 将所选单选按钮的值添加到公式中
- JavaScript / jquery:如果选择了单选按钮并且数据属性符合条件,则添加类
- 将不同的类添加到选中按钮之前的所有单选按钮
- 单击单选按钮,添加/删除表单元素的类
- 如何将onclick事件添加到MVC 4中动态创建的单选按钮中
- 如何将单选按钮valus添加在一起,但如果它们具有相同的值,则如何区分它们
- 将必需属性添加到DIV On单选按钮更改中的输入
- 如何添加单选按钮和复选框将选择输入到一起以形成JavaScript输出
- 如何向值<当前值的每个单选按钮添加一个类
- 如何为火狐单选按钮添加焦点的视觉指示器
- 如何动态地向单选按钮添加唯一 ID
- 向选定的单选按钮添加类
- 使用jQuery为带有name属性的单选按钮添加点击事件
- 在jquery中为单选按钮添加onclick事件
- 使用Javascript或Jquery将单选按钮添加到Html表单