用<更改选择值和>价值

时间:2012-08-30 13:59:40

标签: javascript jquery html

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

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

这是一个更复杂的插件,我只是拔出了与此相关的部分..插件中的树遍历都处理得很好(我只是在这里写了一些看似正确的东西),重要的是价值更改。那么,有没有人知道为什么它不会让我选择任何小于或大于符号的选项?

3 个答案:

答案 0 :(得分:1)

使用$(this).text()代替$(this).html()

<强> DEMO

答案 1 :(得分:1)

如果不使用html()而使用text()

,它对我有用
$("ul.selector li").click(function(){
    $(this).parent().next().val($(this).text());
});

jsFiddle demo

答案 2 :(得分:0)

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