0

我目前正在尝试使用此站点进行我的实验:

http://store.nike.com/us/en_us/pd/lunarglide-5-running-shoe/pid-726047/pgid-726952

我想要完成的是,用户将在 chrome 扩展端输入默认鞋码,一旦他们点击此页面,它将自动单击正确的尺寸并单击添加到购物车。

我已经完成了所有这一切,只是它不会提交,它告诉我添加鞋码。

动图:

$(document).ready(function(){   
    checkForData();

    $('.add-to-cart').trigger('click');
});
function checkForData()
{   
    $('ul.footwear li').removeClass("selectBox-selected");
    chrome.storage.local.get('value', function (results) {
        $('ul.footwear').find('a').filter(function(idx, el){
            return $.trim($(this).text()) == $.trim(results.value);
        }).closest('li').addClass('selectBox-selected');
        $("a.footwear span.selectBox-label").text("("+$.trim(results.value)+")");
    });
}

如果您查看..}).closest('li').addClass('selectBox-selected');我已经尝试使用触发事件,就好像它被点击但没有任何反应,所以我只是给它一个如果有人点击它就会有的类。

大卫

4

1 回答 1

1

里面也有select输入..

<select name="skuAndSize" class="size-dropdown mediumSelect footwear selectBox" style="display: none;">
         <option value=""></option>
            <option class="size-not-in-stock" name="skuId" value="3096786:6">6</option>
            <option class="size-not-in-stock" name="skuId" value="3096787:6.5">6.5</option>
            <option name="skuId" value="3096788:7"> 7</option>
            <option name="skuId" value="3096789:7.5" selected="true"> 7.5</option>
             ..........
             ..........
 </select>

我的猜测是,在您尝试提交之前,您需要在这里选择一个选项。毕竟,这里的变量将在表单中发布。您似乎在做的只是更改 DOM UI。

添加这个可能有效:

$("select[name='skuAndSize']").val("3096789:7.5");
于 2013-07-10T17:01:07.340 回答