jQuery показать кнопку отправки при нажатии поля ввода - PullRequest
2 голосов
/ 04 мая 2010

Я пытаюсь создать поле ввода комментария, в котором будет отображаться кнопка отправки в динамически создаваемой форме при нажатии на поле ввода. Аналогично тому, как работают комментарии на Facebook. Когда вы щелкаете по полю ввода, появляется кнопка «Отправить», а когда вы щелкаете, она исчезает. Все идентификаторы ввода комментариев: comment_1 и т. Д., А идентификаторы кнопок отправки - submit_1 и т. Д.

Я пробовал это,

jQuery("#[id^='comment_']").live('click',function(event){ 
    if(jQuery("#[id^='comment_']").val() == ""){ 
        jQuery("#[id^='submit_']").hide(); 
    } 
    else { 
        jQuery("#[id^='submit_']").show(); 
    } 
}); 

И по какой-то причине это не сработает. Любое предложение или как это можно сделать было бы замечательно.

Ответы [ 2 ]

2 голосов
/ 04 мая 2010

Вам необходимо удалить # из селекторов. Также я думаю, что вы не хотите событие click, но focus и blur.

1 голос
/ 04 мая 2010
jQuery("[id^='comment_']").live('focusin focusout',function(e){
    var commentText = "Write a comment...",
        id = this.id.replace('comment_',''),
        val = jQuery(this).val();   
    if (e.type == 'focusin'){
        val = (val == commentText) ? '' : val; 
        jQuery("#submit_"+id).show();
    } else if (e.type == 'focusout') {
        val = (val == '') ? commentText : val; 
        if( val == commentText){ 
            jQuery("#submit_"+id).hide(); 
        }
    }
    jQuery(this).val(val);
}).trigger('focusout');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...