2017-05-08 27 views
0

我是codeigniter的新手,需要一些帮助。在我的控制器中,我获取我的选项和子选项的数据,并在下面的代码中加载视图。该视图基本上只是创建一个由控制器传递给它的选择框组成的表格。我遇到的问题是我不确定如何为动态生成的控件执行onchange事件。Codeigniter onchange事件动态创建视图选择框

<?php foreach($options as $option) { ?> 
     <tr> 
     <td></td> 
     <td><p><?php echo $option['name']; ;?>:</p></td> 
     <td> 
     <select name="<?php echo $option['name']; ?>" id="<?php echo $option['name']; ?>" rows="4" class="form-control">      
      <?php foreach($suboptions as $suboption) { ?> 
      <?php if($suboption['plat_option'] == $option['name']) { ?> 
       <option value="<?php echo $suboption['name']; ?>"><?php echo $suboption['name']; ?></option> 
      <?php } ?> 
      <?php } ?> 
     </select> 
     </td> 
     </tr> 
<?php } ?> 

要进入更详细一点,我想onchange事件看选择的子选项,并检查其他selectboxes,看看他们是否包含相同的子选项。如果另一个选择框具有该子选项,则它将被禁用,因此无法选取两次。

回答

0

我希望这个代码将有助于您

<?php foreach($options as $option) { ?> 
    <tr> 
    <td></td> 
    <td><p><?php echo $option['name']; ;?>:</p></td> 
    <td> 
    <select name="<?php echo $option['name']; ?>" id="<?php echo $option['name']; ?>" rows="4" class="form-control" onchange="change(this.value)">      
     <?php foreach($suboptions as $suboption) { ?> 
     <?php if($suboption['plat_option'] == $option['name']) { ?> 
      <option value="<?php echo $suboption['name']; ?>"><?php echo $suboption['name']; ?></option> 
     <?php } ?> 
     <?php } ?> 
    </select> 
    </td> 
    </tr> 

javascript函数

function change(val) 
{ 
alert(val) 
}