Javascript 使用值在jquery中进行公式化

Javascript 使用值在jquery中进行公式化,javascript,jquery,Javascript,Jquery,我正在学习jquery,所以我在这里创建了这个小提琴 这是我的html代码 <div class="textForm"> <input type="radio" name="txtNumber" value="100" checked="checked" />100 <input type="radio" name="txtNumber" value="200" />200 <input type="radio" name="txtNumber" val

我正在学习jquery,所以我在这里创建了这个小提琴

这是我的html代码

<div class="textForm">
<input type="radio" name="txtNumber" value="100" checked="checked" />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" />other
<input type="text" name="other_field" id="other_field" onblur="checktext(this);"
/>
</div>
<div class="formText">
    <input type="radio" name="txtSpace" value="RJ" checked="checked"
    />Space 1.
    <br />
    <input type="radio" name="txtSpace" value="SM" />Space 2.
    <br />
</div>

<h3>Output:</h3>
这是jquery

$(document).ready(function () {
console.log("parsed");
$("input[name='txtNumber'],input[name='txtSpace']").change(function () {
    $("#output").text("Changed to "+$("input[name='txtNumber']:checked").val() + " "                                    +$("input[name='txtSpace']:checked").val() + " +++++SOME FIXED VALUE OF TXTSPACE (i.e. SAY if RJ = 100 or if SM = 50) x VALUE OF TXTNUMBER++++++"
                    ); 
});
});

$(':radio').on('change', function () {
$('#other_field')[$(this).val() === 'other' ? 'show' : 'hide']();
});

$('#other_field').on('blur', function () {
var val = $(this).val();

if(isNaN(val)) {
alert('only numbers are allowed..');
}
else if(parseInt(val, 10) % 10 > 0) {
alert('only multiples of 10..');
}
});
我如何才能实现实际输出,即以大写字母显示的输出+++++++++++ TXTSPACE的某些固定值(即,如果RJ=100或SM=50)x TXTNUMBER的值

另外,如何添加隐藏的其他_字段的动态值(如果选中)


也许您还应该在文本字段中添加一个处理程序来更新keyup上的输出。

这一行的原因是什么??案例“RJ”:固定式倍增管=1;打破另外,这个otherfield也有问题。它不太稳定。。你能推荐一些稳定的替代方案吗??
$(document).ready(function () {
console.log("parsed");
$("input[name='txtNumber'],input[name='txtSpace']").change(function () {
    $("#output").text("Changed to "+$("input[name='txtNumber']:checked").val() + " "                                    +$("input[name='txtSpace']:checked").val() + " +++++SOME FIXED VALUE OF TXTSPACE (i.e. SAY if RJ = 100 or if SM = 50) x VALUE OF TXTNUMBER++++++"
                    ); 
});
});

$(':radio').on('change', function () {
$('#other_field')[$(this).val() === 'other' ? 'show' : 'hide']();
});

$('#other_field').on('blur', function () {
var val = $(this).val();

if(isNaN(val)) {
alert('only numbers are allowed..');
}
else if(parseInt(val, 10) % 10 > 0) {
alert('only multiples of 10..');
}
});
var value = $("input[name='txtNumber']:checked").val();
if(value == "other"){
    value = parseInt($("#other_field").val());
}
if(!value || isNaN(value)) value = 0;
var type = $("input[name='txtSpace']:checked").val();
var fixedMultiplier;
switch(type){
    case "RJ": fixedMultiplier = 100; break;
    case "SM": fixedMultiplier = 50; break;
    default: fixedMultiplier = 1; break;
}
var computedValue = value * fixedMultiplier;
$("#output").text("Changed to "+ value + " " + type + " (" + computedValue + ")");