JQuery yılında Kontrolör değerleri almak

2 Cevap php

Ben jQuery için yeni. Benim denetleyicisi gelen değerleri almak ve JQuery içinde bazı dize ile karşılaştırmak nasıl?

   $(".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");
              }
         }

2 Cevap

Sizin soru çok kafa karıştırıcı ama ben yardımcı olmak için elimden geleni yapacağım. Ben AJAX üzerinden bu bilgileri almak istediğinizi varsayalım gidiyorum. Ben de aradığımda CakePHP denetleyici aşağıdaki tükürür kabul edeceğiz (eğer giderek öğrenebilirsiniz: http://yoursite/Forms/views):

This is some random string

Ben tahmin ettik olarak kullanmak için, bunu yapmanız gerekir:

<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>

Şimdi, bunu Oliver (sadece CakePKP'deki hariç) düşündüren şekilde yapmak için çalışıyoruz, bunu yapmak gerekir:

<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>

Ben bir şekilde yardımcı olur umarım.

[Değiştir]: Kontrolörü tarafından bir ASP.NET MVC proje ViewData nesne geçirilen Denetleyici veriyi demek eğer bu cevaptır. [/ Edit]

Komut aspx / Ascx (değil ayrı bir JS dosyası) olmak zorunda olacak.

    <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>