2012-08-30 83 views
0

我正在使用我製作的插件,因此我可以定製下拉框(並且跨瀏覽器具有一致的外觀)。當您單擊自定義框中的值時,它將更改隱藏的「真實」選擇框中的值。當涉及到使用小於(<)和大於(>)符號時,我遇到了問題。它適用於所有其他沒有特殊符號的選項。我已經用實際的符號試過,我已經使用&lt;&gt;更改選擇值< and >的值

<ul class="selector"> 
      <li>Pounds</li> 
      <li>&lt; 100</li> 
      <li>101-120</li> 
      <li>121-140</li> 
      <li>141-160</li> 
      <li>161-180</li> 
      <li>181-200</li> 
      <li>&gt; 200</li> 
     </ul> 
<select class="page1 fleft" id="weight" name="weight" style="visibility:hidden;"> 
     <option selected="selected" value="select">Pounds</option> 
     <option value="&lt; 100">&lt; 100</option> 
     <option value="101-120">101-120</option> 
     <option value="121-140">121-140</option> 
     <option value="141-160">141-160</option> 
     <option value="161-180">161-180</option> 
     <option value="181-200">181-200</option> 
     <option value="&gt; 200">&gt; 200</option> 
    </select> 
$("ul.selector li).click(function(){ 
    $(this).parent().next().val($(this).html()); 
    }); 

這是一個更復雜的插件,我剛拔掉,涉及到這個..樹遍歷所有處理精細部試行在插件中(我剛剛在這裏寫了一些看起來很正確的東西),重要的是價值的變化。那麼,有沒有人知道爲什麼它不會讓我選擇小於或大於符號的選項?

回答

1

它爲我,如果不是使用html()您使用text()

$("ul.selector li").click(function(){ 
    $(this).parent().next().val($(this).text()); 
}); 

jsFiddle demo

+0

這樣一個簡單的答案,謝謝大家。一種無賴,我只能給一個正確的答案,但克勞迪奧第一。謝謝! –

0

在選項上使用urlescape'd值。請記住,這些值是URL的一部分,符號&是保留的。

1

使用$(this).text()而不是$(this).html()

DEMO