2016-05-25 2 views
0

私は "PERS" を示し、 "バス" と、その逆別のラジオボタンを押したときにラジオボタンイベントがトリガーされるのはなぜですか?

のjQueryを非表示にするには、次のコードを使用しています:

$('input[name="perorbus"]').click(function() { 
      if ($(this).attr('id') == 'bus') { 
       $('#showbus').show(); 
       $('#showper').hide(); 
      } 
      if ($(this).attr('id') == 'pers') { 
       $('#showper').show(); 
       $('#showbus').hide();    
      } 

     }); 

HTML:

<fieldset id="perorbus"> 
     <label style="font-size: large;">Personal Or Business?</label> 
     <br/> 
    <input type="radio" class="PerOrBus" value="pers" id="pers" name="perorbus"/> 
    <label style="font-size: medium;">Personal Customer</label> 
    <input type="radio" class="PerOrBus" id="bus" value="bus" name="perorbus"/> 
    <label style="font-size: medium;">Business Customer?</label> 
     <br/> 
    </fieldset> 


<table id="showper"> 
    <tr> 
    <td>Show Personal</td> 
    </table> 

    <table id="showbus"> 
    <tr> 
    <td>Show Business</td> 
    </table> 

私が置かれた任意の他のラジオボタンページ上でこれがトリガーされます。これらはすべて、次のようにname属性を与えられている:

<fieldset id="CACCc"> 
    <input type="radio" id="1b" class="2b" value="4b" name="1b"/> Yes 
    <br/> 
    <input type="radio" id="id12" class="4class" value="4c" name="id12"/> No ​ 
    <br/></fieldset> 

をしかし、私は次のようにjQueryを使って準備ができてドキュメントに名前を割り当てる必要があり:

 document.getElementById("1b").setAttribute('name', '1b'); 
    document.getElementById("id12").setAttribute('name', 'id12'); 

これは私は、限定されることによるものです名前を使用しないと

すべてのヘルプは素晴らしいことだ、感謝

+0

これをフィドルで再現できますか? (https://jsfiddle.net/k7knjypu/はうまくいきます) – Florian

+0

真、別の場所の問題である必要があります – Stacker

答えて

0

HTML(長い話)の属性のラジオボタンを押してラジオボタンの名前で行くお試しください。また、変更トリガを使用します。ところで、あなたのフィールドセットは同じ名前です。それは問題になる可能性があります。

$(document).ready(function() { 
    // Update names 
    $('input[type=radio][name=perorbus]').change(function() { 
     if (this.id == 'bus') { 
      $('#showbus').show(); 
      $('#showper').hide(); 
     } 
     if (this.id == 'pers') { 
      $('#showper').show(); 
      $('#showbus').hide();    
     } 
    }); 
}); 
+0

残念ながら、どちらか一方がまだ隠れています。基本的にPersやバスのいずれかが選択されていて別のラジオボタンを選択した場合でも、選択されているものは最小限に抑えられます – Stacker

+0

おそらく私のコードのどこかにありますが、あまりにも多くをここに置くことになります – Stacker

+0

@Stackerどこかに重複があります。 –

0

私の問題の答えは、具体的には、Sharepointのキャッシュの問題です。キャッシュを削除するアクセス権がないため、すべての名前を変更してすべてのIDを変更して機能させました。

これは他の人々の問題を解決するものではありませんが、おそらく他の回答が必要です。

関連する問題