如何使jQuery实际运行内部函数而不是仅仅更改val()
以显示函数?
$(".me_signup .name").bind("mouseup keyup", function(){
$(this).siblings('.message').val(function(index,value) {
var name = $(this).val().split(' ')[0];
return value.replace('friend', name);
});
});
我希望最终结果用name
替换单词friend的内部文本。但它只是用我的HTML中的整个函数替换文本。关于为什么它没有运行内部函数的任何想法?
答案 0 :(得分:2)
如果您在1.4
之前使用的是jQuery版本,则不支持将function
作为参数发送到.val()
。你需要做很多事情。
编辑:漫长道路:
$(".me_signup .name").bind("mouseup keyup", function(){
var name = $(this).val().split(' ')[0];
var $message = $(this).siblings('.message');
$message.val( $message.val().replace('friend', name) );
});
答案 1 :(得分:0)
如果没有看到html,很难想象,但看起来你想要使用.each();
的内容$(".me_signup .name").bind("mouseup keyup", function(){
$(this).siblings('.message').each(function(index,value) {
var name = $(this).val().split(' ')[0];
$(this).val(name); // I'm not sure what you were trying to do with replace
});
});