使用jquery/Javascript拆分单选按钮值

使用jquery/Javascript拆分单选按钮值,javascript,jquery,Javascript,Jquery,我想从我的表单中分割单选按钮的值,以便知道选择的选项以及价格。|分隔符前的值为价格,|分隔符后的值为所选选项 <input type="radio" name="arm" value="50|1" id="split" required> Option: 1<br> <input type="radio" name="arm" value="100|2" id="split" required> Option: 2<br> <input ty

我想从我的表单中分割单选按钮的值,以便知道选择的选项以及价格。|分隔符前的值为价格,|分隔符后的值为所选选项

<input type="radio" name="arm" value="50|1" id="split" required> Option: 1<br>
<input type="radio" name="arm" value="100|2" id="split" required> Option: 2<br>
<input type="radio" name="arm" value="150|3" id="split" required> Option: 3<br>

<input type="radio" name="mechanism" value="50|1"> Option: 1<br>
<input type="radio" name="mechanism" value="100|2"> Option: 2<br>
<input type="radio" name="mechanism" value="150|3"> Option: 3<br>

<input type="radio" name="base" value="50|1"> Option: 1<br>
<input type="radio" name="base" value="100|2"> Option: 2<br>

<input type="radio" name="fabric" value="50|1"> Option: 1<br>
<input type="radio" name="fabric" value="50|2"> Option: 2<br>
<input type="radio" name="fabric" value="50|3"> Option: 3<br>

<script>

    jQuery(":text[name='quantity'], :radio[name='arm'], :radio[name='mechanism'], :radio[name='base'], :radio[name='fabric']").change(function(){
    var arm = jQuery(":radio[name='arm']:checked");
    var arr = arm.split('|');
    var $mechanism = jQuery(":radio[name='mechanism']:checked");
    var $base = jQuery(":radio[name='base']:checked");
    var $fabric = jQuery(":radio[name='fabric']:checked");
    var $quantity = jQuery(":text[name='quantity']");
    if($arm.length ==1){
        var a = parseInt($arm.val(arr[0]), 10);
        var m = parseInt($mechanism.val(), 10);
        var b = parseInt($base.val(), 10);
        var f = parseInt($fabric.val(), 10);
        var q = parseInt($quantity.val(), 10);
        jQuery("#result").val((a + m + b + f) * q);
    }
    });

</script>
并按如下方式传递该值:

 var a = parseInt($arm.val(arr[0]), 10);
这是行不通的。我不是Jquery或Javascript大师,我应该怎么做才能让它工作?

这一行:

var arr=arm.split(“|”)

您需要获取
arm
值,并将其拆分

var arr=arm.val().split(“|”)

试试看

var arm=jQuery(“:radio[name='arm']:checked”).val()


var arr=arm.split(“|”)

您应该使用
var arr=arm.val().split(“|”)
or
var arm=jQuery(“:radio[name='arm']:checked”).val()是,那我该怎么做呢?这给了我一个错误:$arm没有定义。我猜这个错误与这行代码有关:var a=parseInt($arm.val(arr[0]),10);尝试
parseInt(arr[0],10)。谢谢,是的,我算出来了。它现在似乎正在工作,但给我的总值不正确。我如何“打印”出每个数组的值?这给了我错误:$arm未定义我猜错误与此行有关:var a=parseInt($arm.val(arr[0]),10);
 var a = parseInt($arm.val(arr[0]), 10);