我想在文本框旁边显示带有%符号的文本框,但%没有出现,我该如何显示?
以下是我的代码:
var $weightText = $("<input type='text' id='txtWeightRow' maxlength='5' onkeypress='return isNumberKey(event)'/>").attr('name',$this.attr('name'))
.attr('value',$this.val())
答案 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>
的位置。