如何使用Jquery增加输入框的值

5

我有一个如下的输入框:

 <input name="update_price" type="text" id="update_price" value="£" size="8" 
        maxlength="8" />

我想从一个下拉框的价值中得到一些价格价值,并在英镑符号后面添加它,这该如何在jQuery中实现?
  <form>
                <select name="select" id="select">
                  <option>Select your pizza</option>
                  <option value="6.65">NY, 10&quot;, £6.65</option>
                  <option value="8.95">NY, 12&quot;, £8.95</option>
                  <option value="11.95">NY, 16&quot;, £11.95</option>
                  <option value="3.45">Chicago, 7&quot;, £3.45</option>
                  <option value="6.65">Chicago, 10&quot;, £6.65</option>
                  <option value="8.95">Chicago, 12&quot;, £8.95</option>
                  <option value="11.95">Chicago, 16&quot;, £11.95</option>
                  <option value="19.95">Chicago, Beast 24&quot; x 18&quot;, £19.95</option>
                 </select>
         </form>



    $(function()
    {
   $('#select').change( function() {

    $('input[name=update_price]').val($("#select :selected").val() );
  });
   });

使用上面的代码可以工作,但是£符号会消失,请帮忙解决。

4个回答

4
文件和页面的编码是否相同?如果您想要使用特殊字符(如英镑符号),则必须将JavaScript文件保存为UTF-8(不带BOM字符)。您可以使用Notepad++或类似的编辑器来完成这项操作。
另外,您已经为输入指定了ID,为什么不使用该ID来分配其值?最后,在change函数作用域中,您可以使用“this”。请参见下面的示例。
$(function() {
  $('#select').change(function() {
    $('#update_price').val("£" + $(this).val());
  });
});

对于英镑符号,请尝试使用Alt-Gr + 2。 - Emre Erkan
请注意,kara正在使用输入框的ID,而不是input[name=update_price]。 我认为这样更简洁,可能会更快(选择器更少)。 - MrHus

4
在过去,我曾在输入框上使用背景图像来显示货币符号。这样,符号看起来漂亮,左对齐(而值是右对齐),并且不会妨碍计算。希望这有所帮助。

2

一种解决方案是将英镑符号放在选择框中选项的值标签中。

<option value="€ 6.65">NY, 10&quot;, £6.65</option>

但是,在使用这个值进行计算时可能会遇到问题。更好的方式是:
$('input[name=update_price]').val("€"+$("#select :selected").val() );

我键盘上没有英镑符号,所以打出了€ :) //编辑
<input type='hidden' name='shopping_cart_value' value='0'>

$('input[name=update_price]').val("€"+$("#select :selected").val() );
$('input[name=shopping_cart_value]').val($("#select :selected").val() );

谢谢你的回答。我不能在value标签中放置英镑符号,因为我正在使用购物车,并且我正在使用该值。此外,我正在使用Firefox浏览器,当在“£”中输入英镑符号时,会出现一些奇怪的字符?这是为什么? - amir
那些奇怪的字符之所以出现是因为井号的字符编码。尝试更新两个字段,一个用于显示正确的价格,另一个用于购物车,就像我上面做的那样。 - blub
我猜你是一名PHP开发者 =) 在你最后的代码示例中,你有以下内容:"€".$("#select :selected") - Blixt
哈哈哈哈,是的,那个点应该是加号 :) - blub

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接