2017-03-27 101 views
4

我一直在努力工作,我相信這是一個簡單,直接的解決方案,讓單組按鈕跟蹤狀態更改。這裏是一個這樣的組:單選按鈕更改爲非初始狀態未註冊

<div class="formRowDiv"> 
     <label><span>TLan:</span></label> 
     <label> 
      <input type="radio" id="tlanYes" name="tlan" value="tlanYes" 
      <?php 
       if ($inputValArr[ 'tl' ] == "1") { 
       echo ' checked'; 
       } 
      ?> 
      > 
      <span class="radioLabel">Yes</span> 
     </label> 
     <label> 
      <input type="radio" id="tlanNo" name="tlan" value="tlanNo" 
      <?php 
       if ($inputValArr[ 'tl' ] == "0") { 
       echo ' checked'; 
       } 
      ?> 
      > 
      <span class="radioLabel">No</span> 
     </label> 
     <script> 
     $(document).ready(function() { 
      $("input:radio[name='tlan']:checked").change(function() { 
      if ($("input[name='tlan']:checked").val()=='tlanNo') { 
       alert('tlan: No'); 
      } else if ($("input[name='tlan']:checked").val()=='tlanYes') { 
       alert('tlan: Yes'); 
      } // close IF 
      }); // close anon FUNC .change 
     }); // close anon FUNC doc.ready 
     </script> 
    </div><!-- close formRowDiv --> 

該窗體有其輸入值最初通過從mySql query()中檢索它們來確定。

如果最初由mySql查詢設置的值爲0,因此「否」(value =「tlanNo」),則當用戶單擊以將該字段更改爲「是」時,警報無法觸發,並且何時我查看了頁面的源代碼,它是仍然被選中的「否」按鈕。

當選擇「否」按鈕時,從先前選擇的「是」改變,然後警報激發,並且頁面源顯示它是(仍然是?)被檢查的「否」按鈕。

我想最終將按鈕的更改狀態保存到頁面的$ _SESSION數組中。那麼爲什麼非初始化按鈕值的更改不會被註冊,因此觸發警報以及在更改完成後反映頁面源代碼中的更改,但似乎是「回退」到初始狀態獲得註冊?

BTW:我有當前的jQuery的lib位於html.php的目錄和引用的頁面的頭,像這樣:

<script type="text/javascript" src="jquery-3.2.0.min.js"></script> 

回答

1

:檢查選擇作品複選框,單選按鈕和選項的選擇元素。

$("input:radio[name='tlan']").change(function() { ... 

,而不是

$("input:radio[name='tlan']:checked").change(function() { ...