我有input
,当我打字时,请说: a ,我希望结果为<li class="a"><img src="a.png" />
如果< strong>空间 =&gt; <li class="space"></li>
。
此列表附加到ul.text
。
当我按退格时,我需要删除最后一项。
我现在已经这样了,但是我无法让它发挥作用:
$('input').live('keyup', function(e){
this.value = this.value.toUpperCase();
var pressedLetter = $(this).val().toLowerCase();
$('ul.text').append('<li><img src="letters/'+pressedLetter+'.png" alt="" /></li>');
});
请帮忙吗? 感谢。
答案 0 :(得分:0)
您需要在每个keyup上为您的ul
元素添加新元素。您必须更改li
和img
元素的属性。
$('input').live('keyup', function (e) {
this.value = this.value.toUpperCase();
var pressedLetter = $(this).val().toLowerCase();
if( $('ul.text').find('li').length < 1 && this.value.length > 0 ) {
$('ul.text').append('<li><img/></li>'); //Append new elements (li,img) if they doesn't exist
}else{
if (this.value.length < 1) $('ul.text').find('li').remove(); //Remove element if value.length < 1
}
$('ul.text').find('li').attr('class', this.value);
$('ul.text').find('img').attr('src', 'letters/' + pressedLetter + '.png');
});