2012-09-06 69 views
1

我解釋了我的問題,我有覆蓋,我用來刪除類別。我添加了一項操作,讓您可以選擇何時刪除職位類別。打開/關閉輸入收音機

對於這一點,我使用複選框,然後加一個JavaScript函數「開放」的一種形式,當複選框單擊,
這裏是個例中的關閉按鈕:

First box

這裏是個例箱打開:

second box

我的html代碼:

<form method="get"> 
    <input type="radio" name="cat_action" value="delete" /> Delete all tracks<br /> 
    <input type="radio" name="cat_action" value="move" onclick="showMe('div_<?php echo $value->ID ?>', this)" /> Move tracks<br /> 

    <div id="div_<?php echo $value->ID ?>" style="display:none"> 
    <label for="track">Move tracks to: </label> 
    <select id="cate" name="cate"> 
    <?php foreach (arrayToObject($startup->getCat()) as $value) { ?> 
     <option value="<?php echo $value->ID ?>"><?php echo $value->post_title ?></option> 
    <?php } ?> 
    </select> <br />   
    </div><br />  

    <button type="submit"> OK </button> 
    <button type="button" class="close"> Cancel </button> 
    </form> 

我的javascript代碼:

<script type="text/javascript"> 
function showMe (it, box) { 
var vis = (box.checked) ? "block" : "none"; 
document.getElementById(it).style.display = vis; 
} 
</script> 

我的問題:
選中該複選框打開的列表,它不會當我點擊第一個複選框關閉。
我只想創建一個關閉第二個複選框的函數。

你可以在這裏嘗試一下:http://jsbin.com/usituv/3/edit

回答

1

這個問題是由於這樣的事實,你不這樣做「刪除」選項,選擇任何東西 - 只在「移動」的選擇。以下是我如何更新您的腳本以正常工作(前提是我瞭解您的情況)。特別注意的變化:

  • 添加id屬性爲移動單選按鈕
  • 添加onclick處理到刪除單選按鈕
  • 更改JavaScript函數只接受一個參數
  • 使用getElementById函數檢索參考移動單選按鈕裏面的javascript函數。

另請注意,將所有javascript分離爲單獨的文件(包括分配onclick處理程序)會更好。不過,我只是在這裏解決你的問題。

<form method="get"> 
    <input type="radio" name="cat_action" value="delete" 
      onclick="showMe('div_1')"/> Delete all tracks<br /> 
    <input type="radio" name="cat_action" value="move" 
      onclick="showMe('div_1')" id="move"/> Move tracks<br /> 

    <div id="div_1" style="display:none"> 
     <label for="paypal">Move tracks to: </label> 
     <select id="cate" name="cate"> 
      <option value="dubstep">Dubstep</option> 
      <option value="breakbeat">Breakbeat</option> 
      <option value="dnb">D'n'B</option> 
     </select> 
    </div> 

    <br /> 

    <button type="submit"> OK </button> 
    <button type="button" class="close"> Cancel </button> 
</form> 

<script type="text/javascript"> 
    function showMe (it) { 
     var box = document.getElementById("move"); 
     var vis = (box.checked) ? "block" : "none"; 
     document.getElementById(it).style.display = vis; 
    } 
</script> 
+0

你的解釋很清楚,它的工作。很顯然,我將所有的javascript都分離在一個外部文件中,這裏僅僅是爲了開發。感謝您的解釋和Aleks的幫助;) – Julien