2009-05-20 66 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>