有这个小提琴给了我不想要的输出
jquery代码
$(document).ready(function () {
console.log("parsed");
$("input[name='txtNumber']").change(function () {
console.log("changed");
if ($("input[name='txtNumber']:checked").val() == '100') $("#output").text("Changed to 100");
else if ($("input[name='txtNumber']:checked").val() == '200') $("#output").text("Changed to 200");
else if ($("input[name='txtNumber']:checked").val() == '500') $("#output").text("Changed to 500");
else if ($("input[name='txtNumber']:checked").val() == '1000') $("#output").text("Changed to 1000");
else if ($("input[name='txtNumber']:checked").val() == '10000') $("#output").text("Changed to 10000");
else($("input[name='txtNumber']:checked").val() == 'other')
$("#output").text("Changed to Other");
});
});
所需的输出是它应显示单击了哪个单选按钮
我还有一个问题吗?
这条线的含义是什么?
console.log("parsed");
提前感谢您的回答:)
答案 0 :(得分:1)
switch block可以缓解过于复杂的if-else块
$(document).ready(function () {
$("input[name=txtNumber]").change(function () {
switch($(this).val()) {
case '100': $("#output").text("Changed to 100"); break;
case '200': // and so on...
}
});
});
答案 1 :(得分:0)
if
中的else if
,只是写了else (condition)
$(document).ready(function () {
console.log("parsed");
$("input[name='txtNumber']").change(function () {
console.log("changed");
if ($("input[name='txtNumber']:checked").val() == '100') $("#output").text("Changed to 100");
else if ($("input[name='txtNumber']:checked").val() == '200') $("#output").text("Changed to 200");
else if ($("input[name='txtNumber']:checked").val() == '500') $("#output").text("Changed to 500");
else if ($("input[name='txtNumber']:checked").val() == '1000') $("#output").text("Changed to 1000");
else if ($("input[name='txtNumber']:checked").val() == '10000') $("#output").text("Changed to 10000");
else($("input[name='txtNumber']:checked").val() == 'other')
//-----^-----------------//
// Forgot the if here!!! //
///////////////////////////
$("#output").text("Changed to Other");
});
});
$(document).ready(function () {
console.log("parsed");
$("input[name='txtNumber']").change(function () {
console.log("changed");
if ($("input[name='txtNumber']:checked").val() == '100') $("#output").text("Changed to 100");
else if ($("input[name='txtNumber']:checked").val() == '200') $("#output").text("Changed to 200");
else if ($("input[name='txtNumber']:checked").val() == '500') $("#output").text("Changed to 500");
else if ($("input[name='txtNumber']:checked").val() == '1000') $("#output").text("Changed to 1000");
else if ($("input[name='txtNumber']:checked").val() == '10000') $("#output").text("Changed to 10000");
else if ($("input[name='txtNumber']:checked").val() == 'other')
$("#output").text("Changed to Other");
});
});
它有效!!!
console.log
:对于你的问题。 console.log()
是一个现代浏览器特定的函数,它将括号内的任何内容打印到JavaScript控制台。
答案 2 :(得分:0)
$("input[name='txtNumber']").change(function () {
$("#output").text("Changed to "+$("input[name='txtNumber']:radio:checked").val());
});
抱歉太快你必须使用:确实检查
编辑2:执行console.log(this)以查看是否可以直接访问该值而不是访问dom来获取它:
我猜是 this.target
应包含值
console.log是在控制台中记录您的对象/字符串/数组,以便调试任何问题
答案 3 :(得分:0)
<强>的Javascript 强>
$("input[name='txtNumber']").change(function () {
var $radio = $(this),
$output = $('#output'),
value = $radio.val() || $('#customNumber').val();
if (value)
$("#output").text("Changed to " + value);
else
$("#output").text("Changed to empty value");
});
$("#customNumber").keyup(function() {
$("#output").text("Changed to " + $(this).val());
});
<强> HTML 强>
<div class="textForm">
<input type="radio" name="txtNumber" value="100" />100
<input type="radio" name="txtNumber" value="200" />200
<input type="radio" name="txtNumber" value="500" />500
<input type="radio" name="txtNumber" value="1000" />1000
<input type="radio" name="txtNumber" value="10000" />10000
<input type="radio" name="txtNumber" value="" />other
<input type="text" name="customNumber" id="customNumber" />
</div>
<h3>Output:</h3>
<div id="output"></div>