मैंने इस विषय के बारे में सभी SO प्रश्न और उत्तर ब्राउज़ किए हैं लेकिन मैं अभी भी अपना परिदृश्य काम करने में असमर्थ हूं। जब कोई ड्रॉपडाउन मेनू विकल्प चुना जाता है तो मैं एक क्लिक बटन कार्रवाई ट्रिगर करना चाहता हूं; सरल लगता है और AJAX के साथ बहुत आम होना चाहिए।रेल फॉर्म पर रूबी में चयन करें और चालू करें
<%= form_for(@test, :html => {:id => "form_id", :name => "MyForm", :remote => "true"}) do |form| %>
<%= form.label "Menu1" %>
<%= form.select (:Menu1, [["Option1","value1"],["Option2","value2"]], :html_options=>{:onChange=>"javascript: this.form.apply_button_name.click();"}) %>
<!-- more select menus and text fields here -->
<div class="actions">
<%= form.submit "Apply", :name => "apply_button_name", :remote => "true" %>
</div>
<% end %>
मैं का इस्तेमाल किया। ":: दूरस्थ =>" सच "दोनों फार्म और बटन क्योंकि कि AJAX काम कर पाने के लिए एक ही रास्ता है के लिए मैं भी कोशिश की
यहाँ मेरी कोड के प्रासंगिक अंश हैं स्पष्ट और "जावास्क्रिप्ट" और "जावास्क्रिप्ट:" के बिना, मैंने कुछ SO उत्तरों को ब्राउज़ करने के बाद सुझाव दिया कि इससे मदद नहीं मिली। मैंने कोशिश की, और चयन करने की बजाय क्लिक करें, लेकिन अभी भी कोई भाग्य नहीं है।
जेनरेट किया गया एचटीएमएल निम्नलिखित है:
Menu1
<select id="test_Menu1" name="test[Menu1]"><option value="value1">Option1</option>
<option value="value2" selected="selected">Option2</option></select>
जैसा कि आप देख सकते हैं, HTML कोड में चेंज इवेंट हैंडलर पर कोई नहीं है; क्यूं कर? कोई भी देख रहा है कि मैं क्या गलत कर रहा हूं?
किसी भी मदद के लिए धन्यवाद।
धन्यवाद rabusmar, कि मदद के साथ onchange इस्तेमाल करने की कोशिश, लेकिन जब मैं Option1 का चयन करें, नियंत्रक मान 2 हो जाता है और इसके विपरीत। मैंने एक तीसरा विकल्प जोड़ा, और ऐसा लगता है कि नियंत्रक को वह विकल्प नहीं मिला जो मैंने अभी चुना है, लेकिन पहले एक! यह ऐसा क्यों कर रहा है? मैंने नियंत्रक को "@ test.Menu1 =" + @ test.Menu1.to_s + "\ n" डालकर इसे चेक किया है। – rh4games
ऐसा इसलिए है क्योंकि जब फॉर्म भेजा जाता है तो मान सेट नहीं किया गया है। आप अपने हैंडलर में 'setTimeout' का उपयोग कर सकते हैं ताकि आप सही मान भेज सकें। – rabusmar
क्या मैं पूछ सकता हूं, इस फ़ाइल के बाहर एक जावास्क्रिप्ट को इनलाइन जावास्क्रिप्ट के बजाय कैसे संदर्भित किया जाए ?? – Orz