将项目从列表传递到控制器

passing items from list to controller

本文关键字:控制器 列表 项目      更新时间:2023-09-26

我有一个如下项目的下拉列表,我想在点击时只将名称(如"classes"或"heritage")发送到我的控制器。

<li><a href="#">Pointers</a></li>   
<li><a href="#" class="parent">Classes</a>
 <ul>
  <li><a href="#">Shapes</a></li>
  <li><a href="#">Submenu</a></li>
 </ul>
</li>
<li><a href="#">Inheritance</a></li>
<li><a href="#">Polymorphism</a></li>
<ul>

我的问题是是否应该使用Javascript,例如:

   <li><a href="#" id="someId" onclick="SomeMethod(this);" > Pointers</a>

那么我如何在函数中检索元素并发送到控制器?

或者我可以使用形式动作吗?

不需要javascript。。。

HTML:

<li><a href="the_controller/the_method/pointers">Pointers</a></li>   
<li><a href="the_controller/the_method/classes" class="parent">Classes</a>
 <ul>
  <li><a href="the_controller/the_method/shapes">Shapes</a></li>
  <li><a href="the_controller/the_method/submenu">Submenu</a></li>
 </ul>
</li>
<li><a href="the_controller/the_method/inheritance">Inheritance</a></li>
<li><a href="the_controller/the_method/polymorphism">Polymorphism</a></li>
<ul>

控制器:

class The_controller extends CI_Controller{
    function the_method($the_word){
        /*do something with $the_word;*/
    }
}

function SomeMethod(item) {
    var text = item.firstChild.nodeValue;
    ....
    window.location.href = "controller/action/" + text;
}

对于给定的示例,使用内联onclick,它可以使用innerHTML。

<li><a href="#" id="someId" onclick="SomeMethod(this.innerHTML);" > Pointers</a>