2012-09-06 37 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