2012-07-03 10 views
6

में मैन्युअल रूप से ट्रिगरिंग ईवेंट मैं एक स्थिति में फंस गया। मैं जेएस हेल्पर का उपयोग कर रहा हूँ। मैंने निम्नलिखित कोड का इस्तेमाल किया।जेएस हेल्पर केकेपीएचपी

<?php $this->Js->get('#client_id') 
     ->event('change', $this->Js->request(array('action' => '../ajax/get_client_location_and_process'), 
        array('update' => '#client_location_process', 
        'async' => false, 
        'dataExpression' => true, 
        'method' => 'post', 
        'evalScripts' => true, 
        'data' => $this->Js->serializeForm(array('isForm' => True, 'inline' => True)) 
        ) 
        ) 
     ); 

मैं पृष्ठ लोड पर परिवर्तन ईवेंट को ट्रिगर करना चाहता हूं। अगर मैं document.ready विधि का उपयोग कर रहा हूं तो यह काम नहीं कर रहा है। और मैं जेएस हेल्पर विधि नहीं ढूंढ पा रहा हूं जहां हम नियंत्रण पर कुछ घटना स्पष्ट रूप से ट्रिगर कर सकते हैं। कृपया कोड का सुझाव दें कि जब भी मुझे आवश्यकता हो, फॉर्म तत्वों पर कार्यक्षमता जैसे JQuery ट्रिगर() को मैं कैसे कर सकता हूं। वैकल्पिक रूप से

<?php 
    // Your view code 
?> 
<script>$('#client_id').trigger('change');</script> 

, अगर आप अभी भी पीएचपी के माध्यम से यह करने के लिए पसंद करते हैं, तो आप शायद अपने खुद बना सकते हैं:

+0

मैं JQuery.trigger() JsHelper में बराबर कोड पता लगाने के लिए कोशिश कर रहा हूँ। किसी भी मदद की बहुत सराहना की। –

+3

व्यक्तिगत रूप से मुझे नहीं लगता कि 'जेएसहेल्पर' इस तरह की चीज के लिए बनाया गया था, यह वास्तव में केवल मेरे अनुभव से आसान AJAX अनुरोधों के लिए है। मैं कहूंगा कि आप लंबी अवधि में बहुत स्पष्ट/आसान बना देंगे यदि आप सिर्फ जेएस फ़ाइल में जेएस लिखते हैं ... – Dunhamzzz

+0

क्या आप जो खोज रहे हैं उसे मिला? – uzyn

उत्तर

12

चूंकि आप पहले से jQuery में के बारे में .trigger() पता चला, तो आप सिर्फ यह आपके विचार कोड के साथ उपयोग कर सकते हैं सहायक, जैसे .:

<?php 
class ArunjsHelper extends AppHelper { 
    public $helpers = array('Html'); 

    function trigger($element, $event, $options = array()) { 
     return $this->Html->scriptBlock("$('$element').trigger('$event');"); 
    } 
} 

नियंत्रक पर $helpers करने के लिए ArunjsHelper जोड़ें:

<?php 
class SomeController extends Controller { 
    public $helpers = array('Arunjs'); 

    // Your controller code 
} 

फिर आप देखने से यह कॉल कर सकते हैं:

<h1>Hello</h1> 
<p>Your usual view HTML code</p> 

<?php // Trigger the change event ?> 
<?php echo $this->Arunjs->trigger('#client_id', 'change'); ?> 
संबंधित मुद्दे