HTML:
<textarea></textarea><br />
<a href="#">Generate</a>
<span id="output"></span>
jQuery的:
$('textarea').bind('keypress', function(event) {
var charCode = event.which;
var keyChar = String.fromCharCode(charCode);
return /[a-zA-Z ]/.test(keyChar);
});
var replacements = {
'a': '1',
'b': '2',
'c': '3'
}
$('a').click(function() {
$('textarea').val(function(i, val) {
val = val.split('');
$.each(val, function(i, e) {
val[i] = replacements[e] ? replacements[e] : e;
});
return val.join('');
});
return false;
});
如何修改此现有代码以在$('span#output');
中显示替换?作为一个附带问题,可以进行哪些修改以使此代码更有效?
答案 0 :(得分:1)
而不是:
return val.join('');
做:
$('span#output').html(val.join(''));
答案 1 :(得分:1)
以下是在#output中显示替换的解决方案:
$('textarea').bind('keypress', function(event) {
return /[a-zA-Z ]/.test(String.fromCharCode(event.which));
});
var replacements = {
'a': '1',
'b': '2',
'c': '3'
}
$('a').on('click', function(e) {
e.preventDefault();
val = $('textarea').val().split('');
$.each(val, function(i, e) {
val[i] = replacements[e] ? replacements[e] : e;
});
$('#output').html(val.join('')) ;
});
答案 2 :(得分:0)
只需添加$('#output')。html($('textarea')。val());
$('a').click(function() {
$('textarea').val(function(i, val) {
val = val.split('');
$.each(val, function(i, e) {
val[i] = replacements[e] ? replacements[e] : e;
});
return val.join('');
});
$('#output').html( $('textarea').val()); //here
return false;
});