簡體   English   中英

jQuery更改選擇框選項文本-在iOS上不起作用

[英]Jquery to change select box option text - does not work on iOS

在Magento電子商務網站上,具有不同價格的產品選項的當前默認行為是在Select下拉列表中具有價格差異,例如Blue +£2,Orange-£3。 客戶在這里不想要這個。

我對Magento的流利程度不足,無法通過PHP代碼進行更改,因此一直使用JQuery修改下拉菜單中的文本。 雖然這在我的Windows機器和Android手機上都有效,但似乎在iPhone和iPad上卻不起作用。 (不確定Macbook等)。 價格在您第一次打開選擇框時仍然存在,但在下一次消失了。 因此該代碼確實有效,只是在打開之前沒有。

require(["jquery"], function($) {
    $(document).ready(function() {
        // $('select.super-attribute-select').focus(function(){
            $('select.super-attribute-select').on('focus', function(){

            $('option').each(function(){
                var selectedOption = $(this).text();

                if (selectedOption.indexOf('+') > -1) {
                    selectedOption = selectedOption.substring(0, selectedOption.indexOf('+'));
                    $(this).text(selectedOption);
                } else if (selectedOption.indexOf('-') > -1) {
                    selectedOption = selectedOption.substring(0, selectedOption.indexOf('-'));
                    $(this).text(selectedOption);
                }
            });     
        });

    });
});

最初,我使用.focus,但也嘗試使用.on('focus')版本,但均無法使用。

如果我放入$(“。product-info-main .page-title-wrapper h1”)。css('color','#485158'); 在document.ready之后,H1的顏色發生更改,因此正在查找代碼。 除了焦點我還應該使用其他東西來使其與iOS一起使用嗎?

解答-我最終改用mousedown代替了焦點,現在似乎可以了。 謝謝

嘗試使用純JavaScript代碼執行此操作。由於跨平台問題,使用jquery的某些功能可能無法實現。 在事件上使用JavaScript的方式與JQuery有所不同。 刪除$(document).ready,並確保您使用函數重新啟動JQuery代碼。

將您的Jquery版本更新為> = 3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM