我需要追加 - 当前文本框的值,而不会替换现有文本。我试着用这个代码。如何使用jQuery将文本追加到文本框的值?
if(len.length==4){
$("-").appendTo("#date").val();
}
但它失败了。
我需要追加 - 当前文本框的值,而不会替换现有文本。我试着用这个代码。如何使用jQuery将文本追加到文本框的值?
if(len.length==4){
$("-").appendTo("#date").val();
}
但它失败了。
虽然你有几个(但不是全部)正确答案,我想展现另一种方式来做到这一点:
$('#date').val(function(index, value) {
return value + '-';
});
.val(function(index, value))
function(in dex,value)返回要设置的值的函数。这是当前的元素。接收集合中元素的索引位置和旧值作为参数。
如果你不想使用function
做它,使用:
var $date = $('#date');
$date.val($date.val() + '-');
thanx博士。这是工作。和很好的解释。 – 2012-04-24 07:50:54
尝试:
$('#date').val($('#date').val() + '-');
它取代了现在的文字。 – 2012-04-24 06:53:18
[THIS](http://jsfiddle.net/teneff/T9mUT/)编辑后不工作 – Teneff 2012-04-24 07:02:34
,它的工作。谢谢。 – 2012-04-24 07:07:23
你要获取当前值,并追加到。
var $date = $('#date');
$date.val($date.val() + '-');
谢谢博士。它正在工作 – 2012-04-24 07:15:00
+ 1用于缓存DOM元素。 – gdoron 2012-04-24 07:55:51
我找到的最优雅的方式包括不使用jQuery这么多。
if (len.length === 4) {
var date = $('#date')[0] // faster to write than "document.getElementById('date')"
date.value += '-'
}
您没有将函数上下文传递到'.val()'中,所以'this'引用可能与您想象的不同。这肯定不会是你刚刚选择的$('#date')。 – 2012-04-24 07:00:41
[这是](http://jsfiddle.net/teneff/T9mUT/)是你在jsFiddle中的代码,它不工作 – Teneff 2012-04-24 07:01:44
好吧,只有'this.value'工作..不知何故。 @RichardNeilIlagan说'这个'不正确。 http://jsfiddle.net/Ralt/T9mUT/1/ – 2012-04-24 07:02:35
jQuery('#date').val(jQuery('#date').val() + '-');
为什么你查询DOM两次? – gdoron 2012-04-24 07:00:34
我同意这是不必要的,但只是试图显示非常基本的语法。 – 2012-04-24 07:06:25
我只是在做这个。我用.append(myValue);这里我通过一个Ajax结果集循环:
$.each(result, function (i, obj) {
$.each(obj, function (i, item) {
$('#txtValueList').append(item);
})
})
它是一个输入字段,带有文本类型或其他元素,并带有文本。 HTML中没有这样的文本框,并且下面的注释看起来不是输入字段 – 2012-04-24 06:56:40
它是一个带有文本类型的输入字段。我需要添加 - 在第一个四个字符后。 – 2012-04-24 07:05:47