jQuery不响应收音机检查

时间:2012-06-27 13:32:36

标签: javascript jquery html radio

当我检查收音机时,我想在jQuery中出现一个框,但我没有标记,没有任何反应。

以下是代码。

HTML:

<script src="https://sites.google.com/site/lightdownloads154/jquery.alerts.js" type="text/javascript"></script>
<link rel="stylesheet" href="https://sites.google.com/site/lightdownloads154/jquery.alerts.css" type="text/css" />

<center><textarea rows="10" cols="17" style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" wrap="soft">- Todos os links e arquivos que se encontram no blog, estão hospedados na própria Internet, somente indicamos onde se encontra.

- Qualquer arquivo protegido por algum tipo de lei deve permanecer, no máximo, 24 horas em seu computador.

- Eles podem ser baixados apenas para teste, devendo o usuário apagá-lo ou compra-lo após 24 horas.

- A aquisição desses arquivos pela internet é de única e exclusiva responsabilidade do usuário.

- Os donos, webmasters e qualquer outra pessoa que tenha relacionamento com a produção do blog não tem responsabilidade alguma sobre os arquivos que o usuário venha a baixar e para que ira utiliza-los.
</textarea><center>
<center>
<input name="accept" type="radio" id="accept" /> Eu aceito <input name="refuse" type="radio" id="refuse" /> Não aceito </center></center>
</center>

JavaScript的:

  $(document).ready(function() {

      $("#accept").click(function() {
          jAlert($('input[name=accept]:checked').attr('Obrigado por aceitar os Termos.'));
      });

      $("#refuse").click(function() {
          jAlert('refuse', 'Se não aceita os termos de uso retire-se do blog.', 'Termos de uso');
      });
  });

Demo

3 个答案:

答案 0 :(得分:0)

这基本上修复了您的代码:http://jsfiddle.net/XkBSv/7/

  • jAlert未在您的脚本中定义,您可能没有包含外部脚本。
  • jAlert导致语法错误。
  • 您尚未关闭导致语法错误的就绪事件。

您可能还想将输入名称更改为相同的值,以便它们实际上可以充当单选按钮。

<强>更新

jAlert中的语法错误可能是因为它在关闭之前没有;,如果我在代码之前添加代码而不是html中的链接它确实有效!

请参阅http://jsfiddle.net/XkBSv/13/

答案 1 :(得分:0)

  1. Google正在将对这些文件的请求重定向到HTML文件,这就是您收到错误的原因:uncaught SyntaxError: Unexpected token <或者在此之后没有遇到任何JavaScript执行。

    https://sites.google.com/site/lightdownloads154/jquery.alerts.js https://sites.google.com/site/lightdownloads154/jquery.alerts.css

    使用以下内容:

    http://labs.abeautifulsite.net/archived/jquery-alerts/demo/jquery.alerts.js http://labs.abeautifulsite.net/archived/jquery-alerts/demo/jquery.alerts.css

  2. 此行无效:

    $('input[name=accept]:checked').attr('Obrigado por aceitar os Termos.')

    jQuery正在寻找一个名为Obrigado por ...的属性,因为它不存在就不会返回任何内容。

  3. 您需要将具有相同名称属性的单选按钮分组,并使用value属性进行区分。

  4. 演示:http://jsfiddle.net/iambriansreed/MXZJJ/

答案 2 :(得分:-1)

试试这个:

    <!DOCTYPE html>
        <html>
        <head>
            <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
            <link href="http://labs.abeautifulsite.net/archived/jquery-alerts/demo/jquery.alerts.css" rel="stylesheet" type="text/css"/>

            <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
            <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
            <script src="http://labs.abeautifulsite.net/archived/jquery-alerts/demo/jquery.alerts.js"></script>

            <script>
                $(document).ready(function() {

                    $("#accept").change(function() {
                        if($(this).attr("checked")){
                            jAlert('This is a custom alert box', 'Radio accept selected');
                        }

                    });

                    $("#refuse").change(function() {
                        if($(this).attr("checked")){
                            jAlert('This is a custom alert box', 'Radio refuse selected');

                        }

                    });


                });

            </script>
        </head>
        <body style="font-size:62.5%;">

        <input  type="radio" name = "radioGroup" id="accept" value="accepted" /> Accepted
<input  type="radio" name = "radioGroup" id="refuse" value="rejected" /> Not Accepted </center></center>


        </body>
        </html>