0

アンカー要素があります。「page-2」クラスはそのページを呼び出し、JavaScript を使用して表示します。

<a id="btn2" class="page-2">Go to page 2</a>

メッセージを表示するクラス「disabledPage2」を使用してリンクを無効にする機能もあります。アンカー要素が読み込まれると、disabledPage2 クラスが自動的に追加される必要があります。

var anchorElement = $(this);
if ($(this).hasClass('disabledPage2')) { message.
    new Messi('We need your X info before we can continue.', {title:'Notice'});
    return false;
}

「disabledPage2」クラスを手動で追加すると、正しく機能しますが、クラスを自動的に追加できません。

次に、ラジオボタンのセットがあります。

<?php
   $widthArray = array(380,410,435,460,490,515);
   $x = 0;
   while($result = mysql_fetch_assoc($results)){
   echo '<li>
           <label class="label_radio">' . $result['option_label'] . '
             <input type="radio" name="optionName" class="radioOff" validate="required:true" value="' . $result['ID'] . '" onclick="$(\'#swoosher\').effect(\'size\', {to: {width: '.$widthArray[$x].'} }, 500);"/>
           </label>
         </li>';$x++;}
 ?>

ラジオ ボタンがクリックされたら、「disabledPage2」クラスを削除する必要があります。

アンカー要素の読み込み時に無効化クラスの読み込みを処理するために、次のような関数を作成してみました。

$('#btn2').load(function(){
  $('#btn2').addClass('disabledPage2');
}); 

そして、これはラジオボタンの onclick イベントを処理するためのものです:

$(document).ready(function(){
  $(":input").click(function(){
    $('#btn2').removeClass('disabledPage2');
  });
});

私はこれをあらゆる方法で機能させようとしましたが、私が見つけた「解決策」は機能しませんでした。私は JavaScript と jQuery にやや不慣れで、明らかに正しいことをしていません。

誰かが私がやろうとしていることを達成する方法を知っていますか、それとも私が答えを見つけることができる場所を教えてもらえますか?

ありがとう!

4

1 に答える 1

3

btn2 からロード機能を削除します。

$(document).ready(function(){

   $('#btn2').addClass('disabledPage2');

  //This will work when you click all input elements on your page. why not use the class (redioOdd) like this $(".radioOff").click
  $(":input").click(function(){

       $('#btn2').removeClass('disabledPage2');

  });

});
于 2012-10-14T09:27:49.720 に答える