2011-12-16 9 views
0

私はこの入力テキストフィールドに最初に回答1と表示されていて、次にfocus()と入力するとテキストが消えます。 blur()の場合、テキストが戻ってきます。Jquery入力が複雑になっています

<input type="button" id="btnAdd" value="Add Answer" /> 
     <div id="formanswer1" style="margin-bottom:4px;" class="clonedInput">Answer:<input type="text" id="formanswer1" value="Answer 1" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'Answer 1':this.value;"/></div> 
</div> 


<script> 

$('#btnAdd').click(function() { 
    var num  = $('.clonedInput').length; // how many "duplicatable" input fields we currently have 
    var newNum = new Number(num + 1);  // the numeric ID of the new input field being added 

    // create the new element via clone(), and manipulate it's ID using newNum value 
    var newElem = $('#formanswer' + num).clone().attr('id', 'formanswer' + newNum).attr("onblur","this.value=!this.value?'Answer "+newNum+"':this.value;"); 

    // manipulate the name/id values of the input inside the new element 
    newElem.children(':first').attr('id', 'formanswer' + newNum).attr('value','Answer '+newNum).attr('onblur',"this.value=!this.value?'Answer "+ newNum +"':this.value;"); 

    // insert the new element after the last "duplicatable" input field 
    $('#formanswer' + num).after(newElem); 

}); 

</script> 

私はonblur()値をincrimentする方法を考え出す問題を抱えています。私は構文が間違っているかどうかはわかりませんが、私はこのことを理解できません。

+1

は、なぜあなたは再び、この質問をしていますか? http://stackoverflow.com/questions/8529986/jquery-input-complicated-incrementing-mess –

+0

あなたの最初の投稿でこれを正確に実行した例を提供しました –

+0

'.attr'を使ってイベントハンドラをアタッチしないでください。実際のイベントハンドラ機能を使用します(例: '.blur()'。 –

答えて

0

代わりのJsがのonblur

.ATTR( 'のonblur'、機能(){

this.value = this.value "回答" + newNumのためにこれを使用して直接:this.value; !? });

0

HTML:

<div> 
<input type="button" id="btnAdd" value="Add Answer" /> 
<div id="formanswer1" style="margin-bottom:4px;" class="clonedInput">Answer:<input type="text" id="formanswer1" value="Answer 1" /></div> 
</div> 

のjQuery:

$('input#formanswer1').on('click',function(){ 
     $(this).val(""); 
}); 


$('input#formanswer1').on('blur',function(){ 
    if($(this).val() === ""){ 
     $(this).val("Answer 1") 
    } 
}); 

チェックフィドル:http://jsfiddle.net/gSQ94/12/

関連する問題