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

Javascript 将项目从列表传递到控制器,javascript,html,codeigniter,Javascript,Html,Codeigniter,我有一个如下所示的项目的下拉列表,我想点击发送名称,如“类”或“继承”,到我的控制器 <li><a href="#">Pointers</a></li> <li><a href="#" class="parent">Classes</a> <ul> <li><a href="#">Shapes</a></li> <li><

我有一个如下所示的项目的下拉列表,我想点击发送名称,如“类”或“继承”,到我的控制器

<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>
    
  • 那么,如何在函数中检索元素并发送给控制器


    或者我可以使用表单动作吗

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

    function SomeMethod(item) {
        var text = item.firstChild.nodeValue;
        ....
        window.location.href = "controller/action/" + text;
    }
    
    <li><a href="#" id="someId" onclick="SomeMethod(this.innerHTML);" > Pointers</a>
    

  • 不需要javascript

    HTML:
    如何填充列表?是动态的吗(通过php)?@timidboy不,列表不是动态的,它只是一个标准文本。为什么不这样:
  • ?@timidboy因为我需要点击任何东西的“字符串”来搜索我的数据库。那么为什么不这样:
  • ?以及如何在我的方法中获取“指针”,把它交给我的控制器-抱歉,对JS来说非常陌生。您的SomeMethod方法需要一个参数,即函数SomeMethod(arg){/*arg is now='Pointers'*/alert(arg);}一旦它在您的方法中,您就可以通过ajax在服务器端传输它,或者如果它是HTML表单,您可以动态提交表单,或者像timidboy建议的那样通过窗口调用发送。你能添加几句解释来描述你的代码如何回答问题吗?这是
    中的文本。不确定这是如何工作的,只是在控制器中给我一个未定义的变量。这是。请阅读CodeIgniter文档以收集更多信息。如果你仍然被困,请告诉我们。
    <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;*/
        }
    }