Определите, какая радиокнопка проверяется с помощью javascript

Привет всем, может кто-нибудь, пожалуйста, помогите мне со следующей проблемой.

// я написал проблему внутри javascript

См., Например, http://jsfiddle.net/7Cmwc/3/.

 function calculate() 
//If radiobutton with ID box3 is checked do this mybox1*mybox2+5
{
        var myBox1 = document.getElementById('box1').value; 
        var myBox2 = document.getElementById('box2').value;
        var result = document.getElementById('result'); 
        var myResult = myBox1 * myBox2 + 5 ;
        result.value = myResult;
      }

//If radiobutton with ID box4 is checked do this mybox1*mybox2+10
{
        var myBox1 = document.getElementById('box1').value; 
        var myBox2 = document.getElementById('box2').value;
        var result = document.getElementById('result'); 
        var myResult = myBox1 * myBox2 + 10 ;
        result.value = myResult;
      }

//If radiobutton with ID box3 is checked do this mybox1*mybox2+15
{
        var myBox1 = document.getElementById('box1').value; 
        var myBox2 = document.getElementById('box2').value;
        var result = document.getElementById('result'); 
        var myResult = myBox1 * myBox2 + 15 ;
        result.value = myResult;
      }

А еще мне интересно, в чем разница между jradiobutton и radiobutton?

заранее спасибо


person olzonpon    schedule 24.07.2014    source источник


Ответы (2)


Не говорю, что я бы сделал это так, но это простой пример, показывающий вам, как это делается на самом базовом уровне.

function calculate()  {

    var myBox1 = document.getElementById('box1').value,
        myBox2 = document.getElementById('box2').value,
        myBox3 = document.getElementById('box3').checked,
        myBox4 = document.getElementById('box4').checked,
        myBox5 = document.getElementById('box5').checked,
        result = document.getElementById('result'),
        myResult;

    if ( myBox3 ) {
      myResult = myBox1 * myBox2 + 5 ;
      result.value = myResult;
    }

    else if ( myBox4 ) {    
       myResult = myBox1 * myBox2 + 10 ;
       result.value = myResult;
    }

    else if ( myBox5 ) {
       myResult = myBox1 * myBox2 + 15 ;
       result.value = myResult;
    }
}
person bencripps    schedule 24.07.2014
comment
Это отлично работает для меня, большое спасибо =) jsfiddle.net/7Cmwc/9 - person olzonpon; 25.07.2014

Нравится...

function calculate() {
var test = document.getElementsByName("radioGroupName")

                var sizes = test.length;
                alert(sizes);

                for (i = 0; i < sizes; i++) {
                    if (test[i].checked == true) {
                       whichIsCheckedValue = test[i].value;
whichIsChecked = i;

                    }
                }


}

Получив это, вы можете запускать свои условия. Конечно, есть способ получше, если посмотреть, как это делается. У вас должны быть ваши условия там же, где они определяют, что было проверено.

person durbnpoisn    schedule 24.07.2014