使用<并且>价值

Changing select values with < and > in value

本文关键字:价值 gt 并且 使用 lt      更新时间:2023-09-26

我使用的是我制作的插件,这样我就可以拥有自定义的下拉框(并且在浏览器之间具有一致的外观)。当您单击自定义框中的值时,它会更改隐藏的"真实"选择框中的数值。在使用小于(<)和大于(>)符号时,我遇到了一些问题。它适用于所有其他没有特殊符号的选项。我试过使用实际的符号,也试过使用&lt;&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());
  });

这是一个更复杂的插件,我刚刚抽出了与此相关的部分。。树遍历在插件中处理得很好(我只是在这里写了一些看起来不错的东西),重要的是值的改变。所以,有人知道为什么它不让我选择任何小于或大于符号的选项吗?

如果不使用html()而是使用text() ,这对我来说很有效

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

jsFiddle演示

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

演示

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