1

我正在使用我制作的插件,因此我可以拥有自定义下拉框(并且在浏览器中具有一致的外观)。当您单击自定义框中的值时,它会更改隐藏的“真实”选择框中的值。在使用小于 (<) 和大于 (>) 符号时,我遇到了问题。它适用于所有其他没有特殊符号的选项。我试过使用实际的符号,我试过使用&lt;and&gt;

<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());
  });

这是一个更复杂的插件,我只是拔出了与此相关的部分.. 插件中的树遍历都处理得很好(我只是在这里潦草地写了一些看起来正确的东西),重要的是值的变化。那么,有谁知道为什么它不允许我选择任何带有小于或大于符号的选项?

4

3 回答 3

1

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

演示

于 2012-08-30T14:03:22.160 回答
1

html()如果不使用您,它对我有用text()

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

jsFiddle 演示

于 2012-08-30T14:04:10.380 回答
0

在选项上使用urlescape'd 值。请记住,这些值是 URL 的一部分,而符号&是保留的。

于 2012-08-30T14:03:11.590 回答