百分号不会出现

时间:2011-12-19 02:36:29

标签: jquery

我想在文本框旁边显示带有%符号的文本框,但%没有出现,我该如何显示?

以下是我的代码:

     var $weightText = $("<input type='text' id='txtWeightRow' maxlength='5' onkeypress='return isNumberKey(event)'/>").attr('name',$this.attr('name'))
                 .attr('value',$this.val())

4 个答案:

答案 0 :(得分:2)

要在文本框旁边添加%,您需要执行以下操作:

$('#txtWeightRow').after('%');

答案 1 :(得分:1)

 var $weightText = $("<input type='text' id='txtWeightRow'/>").attr('name',$this.attr('name'));
 $("#txtWeightRow").after('%');

答案 2 :(得分:0)

如果要选择其他文本框的值,您应该执行以下操作:

var txtValue = $('#wanted-textbox').val();

答案 3 :(得分:0)

来自fine manual

  

如果将一个字符串作为参数传递给$(),jQuery会检查该字符串以查看它是否看起来像HTML(即它在字符串中的某处有<tag ... >)。如果不是,则将字符串解释为选择器表达式,如上所述。但是如果字符串看起来像是一个HTML片段,那么jQuery会尝试按照HTML的描述创建新的DOM元素。然后创建并返回一个引用这些元素的jQuery对象。

看起来jQuery正试图弄清楚该字符串中的内容并没有完全正确。如果你try this(至少在WebKit浏览器中):

console.log($("<input type='text' id='txtWeightRow'>%"));
console.log($("<input type='text' id='txtWeightRow'>%<br>"));

你会看到只有<input>出现在第一个,但你会得到所有三个第二个。我在jQuery中称这是一个错误。

我认为你必须分两步才能让它发挥作用:

var $weightText = $("<input type='text' id='txtWeightRow'/>").attr('name', $this.attr('name'))
//...
$(whatever).append($weightText).append('%');

whatever当然取决于您尝试放置<input>的位置。