我需要在不替换现有文本的情况下,将“-”添加到当前文本框值中。 我尝试使用以下代码。
但是它失败了。
if(len.length==4){
$("-").appendTo("#date").val();
}
但是它失败了。
if(len.length==4){
$("-").appendTo("#date").val();
}
虽然您已经得到了几个(但不是全部)正确的答案,我想展示另一种解决方法:
$('#date').val(function(index, value) {
return value + '-';
});
.val( function(index, value) )
这个函数返回设置的值。this是当前元素。作为参数接收集合中元素的索引位置和旧值。
如果你不想使用 function
来实现,可以使用以下方式:
var $date = $('#date');
$date.val($date.val() + '-');
var $date = $('#date');
$date.val($date.val() + '-');
尝试:
$('#date').val($('#date').val() + '-');
if ( len.length === 4 ) {
var date = $( '#date' )[0] // faster to write than "document.getElementById( 'date' )"
date.value += '-'
}
.val()
,因此this
引用可能与您想象的不同。它肯定不会是您刚刚选择的$('#date')
。 - Richard Neil Ilaganthis.value
能够正常工作。@RichardNeilIlagan 是正确的,this
不正确。http://jsfiddle.net/Ralt/T9mUT/1/ - Florian Margainethis
,使用原生的JavaScript更加优雅。 - Florian Margainethis
指的是函数的上下文,由于您没有将函数传递给.val()
,因此this
将是(1)未定义或(2)当前运行此代码的函数上下文。它不会是您链接.val()
方法的$('#date')
。 - Richard Neil IlaganjQuery('#date').val(jQuery('#date').val() + '-');
我刚刚在做这个。我在这里使用了 .append(myValue);,现在我正在循环遍历一个 Ajax 结果集:
$.each(result, function (i, obj) {
$.each(obj, function (i, item) {
$('#txtValueList').append(item);
})
})