1

我想要實現的是第二個下拉列表,該列表將基於第一個下拉列表的選擇填充值。如何刪除JavaScript初始化?

我知道了使用的工作如下:

http://jsfiddle.net/ydPfH/6/

的問題是,在外部插件我使用,以顯示在下拉列表的圖像以某種方式從工作停止這個代碼正常。

是initalises這個插件是$("body select").msDropDown();等你點擊Advanced Search與動態下拉菜單擴展的形式我有以下使用此插件的簡單的搜索是一個jQuery擴張的div代碼。

<a href="#" rel="toggle[advancedsearch]" data-openimage="images/collapse.png" data- 
closedimage="images/expand.png">Advanced Search<img id="expand" 
src="images/collapse.png"/> </a> 
<div id="advancedsearch"> 
<p>Document Properties:</p> 
<form> 
<select id="tags" name="tags" class="tags"> 
etc.... 

什麼我希望的是某種onclick什麼更容易調用另一個JS方法以某種方式去除$("body select").msDropDown();初始化或初始化甚至愚蠢的東西,反過來刪除。

頁面的完整的源在這裏可以看到,如果有幫助:http://jsfiddle.net/pQ9LT/

感謝,

馬丁

回答

2

如果我得到這個權利,在這裏就是答案:

您應該將class屬性添加到將要使用msDropDown插件的<select>元素中。然後像這樣初始化插件$('select.yourClass').msDropDown(); 其中yourClass是您爲這些<select>元素分配的類名稱。 您的選擇器中的body部分是超炫的。

這樣,jQuery只會將該插件應用到<select>元素中,並且您的類名不是全部,因此您可以使用其他「正常」元素而不受干擾。

希望我幫助你。

+0

相反非常感謝你湯姆,你不知道如何感激我 - 我能想象那是多麼的困難,試圖按照我的問題提交給外人。 你是明星! – martincarlin87 2011-03-24 12:42:33

+0

沒問題,畢竟不是那麼複雜 – thwd 2011-03-24 12:51:45

1

我並不完全清楚你的整體要求是什麼,什麼可能或不可以接受,所以我有幾個想法。

  1. 給你想稱呼爲圖像組合框classid選擇元素。然後結合你的msDropdown初始化

    $("body select:not('.nostyle')").msDropDown(); //using the class 'nostyle' to filter out the elements that should get the image combobox 
    
  2. 使用更具體的選擇在初始化調用使用:not() selector;這是有點上述

    $("body select.classOfSelectsTobeStyled").msDropDown(); //using the class 'classOfSelectsTobeStyled' on elements that should get the image combobox 
    
+1

非常感謝你的回答和你的時間。我首先嚐試了你的答案,但它似乎並沒有爲我工作,但我肯定了解了一些新的東西,謝謝,我真的很感激它。 – martincarlin87 2011-03-24 12:43:26

+0

很高興能有所幫助。我意識到我的腳本中有一個錯誤 - 第二個建議中的select和'.classOfSelectsTobeStyled'之間存在一個空格(這與Tom之前建議的幾乎完全相同)。該空間會改變選擇器以查找具有該類的'select'元素的後代。如果沒有空間,它會選擇'body'的後代,它們是'select'標記*和*具有'.classOfSelectsToBeStyled'類的' – 2011-03-24 12:54:13