2009-05-20 45 views
2

我是Jquery的新手。如何从我的控制器检索值并将它们与JQuery中的某些字符串进行比较?从JQuery控制器中检索值

$(".select"+increment).change(function() 
      { 

      if("here i need the value from my controller " =='String') 
       { 
     $("<label id=labelstr"+stringinc+" >"+labelname+"</label>").appendTo(".menu li"); 
     $("<input id=inputstr"+stringinc+" type= 'text' ></input>").appendTo(".menu li"); 
       } 
     } 
+0

你必须更具体 - 控制器是什么类型,它是否在服务器上?你想要完成什么?你需要更好地介绍你的问题,因为很难辨别你想要达到的目标。 – 2009-05-20 12:17:34

+0

不知道这个问题是关于什么。 jQuery没有任何称为“控制器”的东西 – 2009-05-20 12:41:13

回答

0

你的问题很混乱,但我会尽我所能提供帮助。我假设你想通过AJAX检索这些信息。我还假设您的CakePHP控制器吐出以下调用时(你可以去了解一下:http://yoursite/Forms/views):

This is some random string

为了用这个作为我认为,你将需要做到这一点:

<script language="javascript"> 
$(function() { 
    $(".select"+increment).change(function() { 
     $.get('/Forms/views',{},function(data) { 
      if(data == 'This is some random string') { 
       // I have no idea where you are getting the 
       // 'stringinc' and 'labelname' variables from. 
       $("<label id=labelstr"+stringinc+" >"+labelname+"</label>").appendTo(".menu li"); 
       $("<input id=inputstr"+stringinc+" type= 'text' ></input>").appendTo(".menu li"); 
      } 
     }); 
    }); 
}); 
</script> 

现在,如果你正在试图做到这一点奥利弗是在暗示(除了刚刚在CakePHP中)的方式,你需要做的是:

<script language="javascript"> 
$(function() { 
    $(".select"+increment).change(function() { 
     // I'm not familiar with Cake, you might need to use 
     // some sort of template syntax. Either way, whatever 
     // method you need to use to get the value into you view 
     // let's just assume its called '$value_from_controller'. 
     var data = <?= $value_from_controller; ?>; 
     if(data == 'This is some random string') { 
      // I have no idea where you are getting the 
      // 'stringinc' and 'labelname' variables from. 
      $("<label id=labelstr"+stringinc+" >"+labelname+"</label>").appendTo(".menu li"); 
      $("<input id=inputstr"+stringinc+" type= 'text' ></input>").appendTo(".menu li"); 
     } 
    }); 
}); 
</script> 

我希望能以某种方式提供帮助。

1

[编辑]:这个答案是,如果通过控制你的意思是在ASP.NET MVC项目的ViewData对象传递的控制器数据。 [/编辑]

该脚本将不得不在aspx/ascx(不在一个单独的JS文件中)。

<script language="Javascript"> 

     $(".select"+increment).change(function() 
      { 

      if("<%=ViewData["YourData"] %>" =='String') 
       { 
     $("<label id=labelstr"+stringinc+" >"+labelname+"</label>").appendTo(".menu li"); 
     $("<input id=inputstr"+stringinc+" type= 'text' ></input>").appendTo(".menu li"); 
       } 
     } 
    </script>