我正在使用這個鏈接插件。 http://www.appelsiini.net/projects/chained有沒有辦法不呈現選擇下拉值,如果它被禁用?
我在Shopify平臺上在tirerack.com上覆制了此車輛搜索框。
這是我的設置。
<script>
function submitAction(formObj) {
var root = formObj.action;
var type = formObj.elements['type'].value;
var make = formObj.elements['make'].value;
var year = formObj.elements['year'].value;
var model = formObj.elements['model'].value.replace(/[\. ,:-]+/g, "-");
var href = root + type + '/' + make + '+' + year + '+' + model;
window.location.href = href;
return false;
}
</script>
<script>
jQuery(document).ready(function($){
/* For jquery.chained.js */
$("#year").chained("#make");
$("#model").chained("#year");
});
</script>
<form id="w-form" action="/collections/" method="get" onsubmit="return submitAction(this);">
<select id="make" name="make" required>
<option value="">Select Make</option>
<option value="acura">Acura</option>
<option value="alfa-romeo">Alfa Romeo</option>
<option value="american-motors">American Motors</option>
<option value="aston-martin">Aston Martin</option>
<option value="audi">Audi</option>
<option value="bmw">BMW</option>
</select>
<select id="year" name="year" required>
<option value="">Select Year</option>
<option value="2017 acura" class="acura">2017</option>
<option value="2016 acura" class="acura">2016</option>
<option value="2015 acura" class="acura">2015</option>
<option value="2014 acura" class="acura">2014</option>
<option value="1974 alfa-romeo" class="alfa-romeo">1974</option>
<option value="1973 alfa-romeo" class="alfa-romeo">1973</option>
</select>
<select id="model" name="model" required>
<option value="">Select Model</option>
<option value="ILX" class="2016 acura">ILX</option>
<option value="ILX A-SPEC Package" class="2016 acura">ILX A-SPEC Package</option>
<option value="MDX-FWD" class="2016 acura">MDX FWD</option>
<option value="MDX-SH-AWD" class="2016 acura">MDX SH-AWD</option>
<option value="RDX-AWD" class="2016 acura">RDX AWD</option>
<option value="RDX-FWD" class="2016 acura">RDX FWD</option>
<option value="RLX-FWD" class="2016 acura">RLX FWD</option>
<option value="RLX-SH-AWD" class="2016 acura">RLX SH-AWD</option>
<option value="TLX" class="2016 acura">TLX</option>
<option value="GTV" class="1974 alfa-romeo">GTV</option>
<option value="Spider" class="1974 alfa-romeo">Spider</option>
<option value="GTV" class="1973 alfa-romeo">GTV</option>
<option value="Spider" class="1973 alfa-romeo">Spider</option>
</select>
<select id="type" name="type" required>
<option value="">I'm Shopping For</option>
<option value="wheels">Wheels</option>
<option value="tires">Tires</option>
</select>
<input type="submit" id="w-search-btn" value="View Results">
</form>
到目前爲止的所有工作。唯一的問題是PC上的網頁加載速度慢。在手機和平板電腦上,速度非常慢。加載速度慢的原因是因爲我在#model select下拉列表中有6000條記錄(在上面的示例中,我只使用了少數記錄)。
考慮到#model select下拉菜單在頁面加載時處於禁用狀態,爲什麼它仍然很慢,只有在您選擇make和year後才能啓用。這些6000條記錄也不會一次顯示出來。根據您在Make和Year中選擇的內容,相關記錄將顯示在#model下拉菜單中。那麼,爲什麼頁面加載速度如此之慢呢?有沒有辦法解決它?
我試過他們的遠程版本設置,但仍未注意到加載時間有任何變化。你能告訴我一個你正在談論的關於爲製作/年/模型創建端點的例子嗎? –
你必須編寫服務器端代碼來響應你告訴腳本命中的端點上的請求,例如,如果命中了「http://yoursite/vehicleSearch.php?mark = bmw''',你會用json做出迴應:'''{「」:「 - 」,「series-1」:「1 series」,「series-3」:「3 series」,「series-5」:「5系列「,」系列-6「:」6系列「,」系列-7「:」7系列「}''' –