मैं जेएस का उपयोग कर इनपुट फ़ील्ड में कुछ पाठ को प्रतिस्थापित करने की कोशिश कर रहा हूं लेकिन दृश्य मॉडल प्रत्येक बार मेरे आदेशों को ओवरराइड करता है। यह HTML मैं के साथ शुरू होता है:कठिन दृश्य मॉडल ओवरराइड करना
<td class="new-variants-table__cell" define="{ editVariantPrice: new Shopify.EditVariantPrice(this) }" context="editVariantPrice" style="height: auto;">
<input type="hidden" name="product[variants][][price]" id="product_variants__price" value="25.00" bind="price" data-dirty-trigger="true">
<input class="mock-edit-on-hover tr js-no-dirty js-variant-price variant-table-input--numeric" bind-event-focus="onFocus(this)" bind-event-blur="onBlur(this)" bind-event-input="onInput(this)">
</td>
मैं इस जेएस चलाएँ:
jQuery('#product_variants__price').siblings().removeAttr('bind-event-focus');
jQuery('#product_variants__price').siblings().removeAttr('bind-event-input');
jQuery('#product_variants__price').siblings().removeAttr('bind-event-blur');
jQuery('#product_variants__price').siblings().focus()
jQuery('#product_variants__price').siblings().val("34.00");
jQuery('#product_variants__price').val("34.00");
और मैं निम्न HTML के साथ छोड़ दिया है:
<td class="new-variants-table__cell" define="{ editVariantPrice: new Shopify.EditVariantPrice(this) }" context="editVariantPrice" style="height: auto;">
<input type="hidden" name="product[variants][][price]" id="product_variants__price" value="34.00" bind="price" data-dirty-trigger="true">
<input class="mock-edit-on-hover tr js-no-dirty js-variant-price variant-table-input--numeric">
</td>
समस्या हर बार है मैं इनपुट फ़ील्ड पर क्लिक करता हूं, जब पृष्ठ लोड होता है तो उस मूल्य को वापस कर दिया जाता है।
मैं अपने मूल्य परिवर्तन के साथ ही माता-पिता टीडी में आदेश चलाकर, एक प्रकार का संपादन अनुकरण करने के लिए और कोई सफलता के साथ डिफ़ॉल्ट को रोकने की कोशिश की है:
jQuery('#product_variants__price').siblings().bind('input', function (e) {
e.preventDefault();
return false;
});
jQuery('#product_variants__price').siblings().bind('focus', function (e) {
e.preventDefault();
return false;
});
jQuery('#product_variants__price').siblings().focus()
jQuery('#product_variants__price').siblings().val("£34.00");
jQuery('#product_variants__price').val("£34.00");
jQuery('#product_variants__price').siblings().keydown()
जनक टीडी समारोह:
new Shopify.EditVariantPrice(jQuery('#product_variants__price').parent())
तो मैं इनपुट में इस मान को सफलतापूर्वक कैसे संपादित कर सकता हूं और Shopify व्यू मॉडल को भी अपडेट कर सकता हूं?
आप यहाँ जा रहा द्वारा खुद के लिए यह कोशिश कर सकते हैं:
https://jebus333.myshopify.com/admin/products/2521183043
लॉगिन [email protected] पासवर्ड shop1
संपादित करें: मैं खोजने के लिए कोशिश की है पृष्ठ पर मॉडल देखें लेकिन बिना किसी सफलता के। इसके अलावा, इनपुट फ़ील्ड्स में मानों को संपादित करते समय कोई नेटवर्क कॉल नहीं होती है, जिससे मुझे विश्वास होता है कि पृष्ठ पर कहीं से मूल्यों को वापस खींच लिया जा रहा है।
वाह, आपके पास उन सभी 'jQuery (...) 's टाइप करने का समय है? क्यों नहीं $ (...) '? वे एक जैसी ही चीज हैं! –
मुझे याद नहीं है कि मैंने ऐसा क्यों किया। ऐसा शायद इसलिए था क्योंकि मैं दूसरी साइट पर काम कर रहा था जिस पर $ क्रोम कमांड लाइन एपीआई को संदर्भित किया गया था लेकिन मैं Spotify की वेबसाइट पर देख सकता हूं, यह वास्तव में jQuery को संदर्भित करता है। – forgetso
'बाइंड' जेक्यू 1.7 में बहुत ज्यादा बहिष्कृत था। –