从下面的脚本中得出失败的任何建议为什么?

时间:2011-07-14 06:37:17

标签: javascript jquery

    <form name="formone" id="optionsform">
    <fieldset>
    <label><input type="radio" name="group1" id="ac-yes" value="1">Yes</label>
    <label><input type="radio" name="group1" id="ac-no" value="0">No</label>

    <label><input type="radio" name="group2" id="bt-yes" value="2">Yes</label>
    <label><input type="radio" name="group2" id="bt-no" value="0">No</label>

    <a href="varible-address">CONTINUE</a>
    </fieldset>
    </form>
    <script>
    $(function(){
      var urls = new Array();
      urls[0]='http://myurl1/';// no + no
      urls[1]='http://myurl2/';// yes + no
      urls[2]='http://myurl3/';// no + yes
      urls[3]='http://myurl4/';// yes + yes

      $('input[type=radio]').click(fonction(){
        var score = 0;
        $('input[type=radio]:checked').each(function(){score+=parseInt($(this).val()});
        $('a').attr('href',urls[score]);
      }
   });
    </script>

5 个答案:

答案 0 :(得分:3)

更改

 $('input[type=radio]').click(fonction(){
    var score = 0;
    $('input[type=radio]:checked').each(function(){score+=parseInt($(this).val()});
    $('a').attr('href',urls[score]);
  }

  $('input[type=radio]').click(function(){ // 'function' not fonction
    var score = 0;
    $('input[type=radio]:checked').each(function(){score+=parseInt($(this).val()); /* missed ');' here */ });
    $('a').attr('href',urls[score]);
  }); // <-- see the closing ');' here

答案 1 :(得分:0)

应该是:

  $('input[type=radio]').click(function(){
        var score = 0;
        $('input[type=radio]:checked').each(function(){score+=parseInt($(this).val()});
        $('a').attr('href',urls[score]);
  });

答案 2 :(得分:0)

您缺少.click(来电的右括号。您还function在那里拼错了。

答案 3 :(得分:0)

你拼错了function,所以当你试图传递一个函数语句时,你实际上是在传递一个函数调用,然后是一个不允许阻塞的块。

答案 4 :(得分:0)

$('input[type=radio]:checked').each(function(){score+=parseInt($(this).val()});

以上行在代码中的ParseInt之后缺少')'符号

$('input[type=radio]:checked').each(function(){score+=parseInt($(this).val())});