感謝您閱讀我的問題顯示隱藏選擇選項... ;-)基於先前的選擇下拉
我建立一個使用自定義信息和自定義字段,以顯示車輛庫存WordPress站點。我希望訪問者能夠按照分類法篩選帖子...
我用於鑽取可用分類法(查詢多分類法)的插件將其可以找到的特定分類法的所有選項輸出到下拉列表中。
爲了防止下拉列表(即模型)變得太長,我只想顯示那些基於上一次選擇的選項。
所以當訪問者選擇Vehicle = Cars時,製造商的下拉菜單應該只顯示汽車製造商。 當訪問者選擇製造商(即福特)時,選擇模型的下一個下拉列表應僅顯示前一選定製造商可用的模型,在這種情況下爲福特...
標籤和0級值不會'不會改變,但當我添加或更換製造商或型號時,1級和/或2級會發生變化。
不是那麼重要,但如果可能的話,它也將很好去除不需要顯示在「過濾」下拉菜單中的所有內容。在製造商下拉的情況下,0級和所有空間都不需要。 如果選擇「型號」下拉菜單,則不需要級別0,級別1和所有空格。
下面是一個示例的HTML代碼,由插件生成的,怎麼看起來像:
<label for="qmt-vehicle">Vehicle:</label>
<select id="qmt-vehicle" name="vehicle">
<option></option>
<option class="level-0" value="cars" >Cars</option>
<option class="level-0" value="motorcycles" >Motorcycles</option>
</select>
<label for="qmt-manufacturer">Manufacturer:</label>
<select id="qmt-manufacturer" name="manufacturer">
<option></option>
<option class="level-0" value="cars" >Cars</option>
<option class="level-1" value="ford" > Ford</option>
<option class="level-1" value="chevrolet" > Chevrolet</option>
<option class="level-0" value="motorcycles" >Motorcycles</option>
<option class="level-1" value="honda" > Honda</option>
<option class="level-1" value="yamaha" > Yamaha</option>
</select>
<label for="qmt-model">Model:</label>
<select id="qmt-model" name="model">
<option></option>
<option class="level-0" value="cars" >Cars</option>
<option class="level-1" value="ford" > Ford</option>
<option class="level-2" value="model-1-ford" > Model 1</option>
<option class="level-2" value="model-2-ford" > Model 2</option>
<option class="level-2" value="model-3-ford" > Model 3</option>
<option class="level-1" value="chevrolet" > Chevrolet</option>
<option class="level-2" value="model-1-chevrolet" > Model 1</option>
<option class="level-2" value="model-2-chevrolet" > Model 2</option>
<option class="level-2" value="model-3-chevrolet" > Model 3</option>
<option class="level-0" value="motoren" >Motorcycles</option>
<option class="level-1" value="honda" > Honda</option>
<option class="level-2" value="model-1-honda" > Model 1</option>
<option class="level-2" value="model-2-honda" > Model 2</option>
<option class="level-2" value="model-3-honda" > Model 3</option>
<option class="level-1" value="yamaha" > Yamaha</option>
<option class="level-2" value="model-1-yamaha" > Model 1</option>
<option class="level-2" value="model-2-yamaha" > Model 2</option>
<option class="level-2" value="model-3-yamaha" > Model 3</option>
</select>
我可以做的JavaScript一些簡單的事情,但是,這不是簡單的我,對不起...; - )
有人可以幫我弄清楚如何在Javascript/JQuery中做到這一點? 跨瀏覽器會很棒!
*編輯* 的HTML代碼顯示的代碼發送到瀏覽器。因爲我無法修改這個插件,所以我想「操作」這段代碼,使其按照我想要的方式工作...... ;-) 唯一修正的問題是:下拉列表和所有值的標籤Class =「level-0」元素。
所以「汽車」和「摩托車」將永遠保持不變。但從那裏一切都是靈活的改變。即當沒有Chevy的帖子可顯示時,Chevy將不會生成HTML。所以這個插件只顯示那些真正可以找到的項目的下拉選項。 所以,當沒有福特可用,福特將不會在下拉...
我寧可不做預定義的製造商和他們的模型列表。
嗨馬特,感謝您抽出寶貴的時間試圖幫助我! 我喜歡你的解決方案,但我寧願有一個沒有預定義的製造商和型號的解決方案,希望你不介意...... ;-) 當我添加車輛的帖子或模型時,它顯示在下拉菜單中。所以下拉列表只顯示可用的內容,這種搜索(過濾)的方式很快且很短。 我編輯了我的文字,就像我說的,唯一固定的東西是第一個下拉列表中的汽車和車輛。其他一切都與WP後臺輸入的車輛/模型有關。 製造商/型號在未發佈時不應顯示。 – Arne 2012-02-10 12:13:41
好的抱歉,我想我撇開了這個問題,並沒有看到你在說什麼,在使用WP插件爲你產生這個代碼(我以爲你可以控制數據)。有可能您可以製作自己的模板,將數據轉換爲JSON,然後按照我的方式使用它,但我對wordpress不熟悉,因此我不知道從哪裏開始。這就是說你可以使用我的一些想法從列表中刪除選項。 – 2012-02-10 17:19:52
嗨馬特!再次感謝... ...)是的,插件爲訪問者生成這種類型的下拉列表以過濾帖子。當然,我刪除了頁面的其餘部分,這只是下拉部分。就像我說的那樣,它只顯示了在WP中活躍的車輛,製造商和型號。唯一確定的部分是,第一次與汽車和摩托車下拉將永遠是一樣的。其餘的可以根據輸入的車輛而有所不同。當沒有雪佛蘭進入,它不會顯示在下拉列表中...我在這一刻沒有進一步,仍然嘗試... ;-) – Arne 2012-02-10 18:47:49