使用jquery进行数学计算

时间:2013-01-31 12:43:53

标签: javascript jquery

这个问题与此类似 Mathematical calculations using jQuery/Ajax

所以请跪下。

我使用两组单选按钮 我找到的这个小提琴显示了我想要的确切内容 http://jsfiddle.net/8FXFE/6/

我可以为那些可以在任何计算中使用的按钮添加另一种隐藏的值吗?

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>

<div id="output"></div>

就像假设我想制作这样的公式..

IF 100被选中且空格1.被选中

然后公式应该是这样的 隐藏值(name =“txtSpace”value =“RJ”)+隐藏值(name =“txtNumber”value =“100”)

能做到吗?如果是的话怎么样?

3 个答案:

答案 0 :(得分:1)

尝试此脚本。只需复制并粘贴此代码。

 <script type="text/javascript">
function fnc()
{
count1=document.getElementsByName("txtNumber").length;
count2=document.getElementsByName("txtSpace").length;
for(i=0;i<count1;++i)
{
    el=document.getElementsByName("txtNumber").item(i);
    if(el.checked)
        firstnumber=el.value;

}

for(i=0;i<count2;++i)
{
    el=document.getElementsByName("txtSpace").item(i);
    if(el.checked)
        secondnumber=el.value;

}
if(firstnumber=='100' && secondnumber=='RJ')
{
    alert("now you can write your formula here");
}
}
</script>

答案 1 :(得分:1)

您需要这样的函数来跟踪表单值:

updateForm = function()
{
      var $txtNumber = $('[name=txtNumber]:checked'),
          $txtSpace = $('[name=txtSpace]:checked'),
          out = $txtSpace.val();

    if ($txtNumber.val() == 'other') {
        out += $('#other_field').val(); // use value of other_field
    } else {
        out += $txtNumber.val(); // use value from radio button
    }

    $('#output').text(out);
}

然后,初始化:

updateForm();
$("input[name='txtNumber'],input[name='txtSpace']").change(updateForm);

答案 2 :(得分:0)

使用

<input data-fieldname=""> 

和jquery

$(this).data('fieldname')

http://jsfiddle.net/FRu67/&lt; - 整理好事

  • 尝试避免输入[name ='txtNumber']类型选择器,因为它们是最慢的