Javascript 将文本框添加到HTML并与JQuery一起使用

Javascript 将文本框添加到HTML并与JQuery一起使用,javascript,jquery,html,input,append,Javascript,Jquery,Html,Input,Append,这可能是一个重复的问题,但我对JQuery非常陌生,我发现的答案没有帮助。是否可以使用JQuery添加包含输入字段的HTML,然后在JQuery中使用该输入字段?以下是我的具体问题: 我有以下HTML代码: <div id="practiceGroup"> <div id="practice1"> <div class="textBoxContainer"> <input class="formatTe

这可能是一个重复的问题,但我对JQuery非常陌生,我发现的答案没有帮助。是否可以使用JQuery添加包含输入字段的HTML,然后在JQuery中使用该输入字段?以下是我的具体问题:

我有以下HTML代码:

<div id="practiceGroup">

    <div id="practice1">

        <div class="textBoxContainer">
            <input class="formatTextWithin" name="practiceName1" id="practiceName1" value="Practice Name"/>
            <div id="tetBoxAdd1" class="textBoxAdd True" onClick="addPractice(1)"><div id="textBoxAddPlus1" class="textBoxAddPlus"></div></div>
        <div style="clear:both;"></div>             
        </div>

        <div class="textBoxContainer">
            <input class="formatTextWithinSmall" name="groupSize1" id="groupSize1"/>
            <p class="MUGroupText"><em>How many group of providers are in this practice?</em></p>
         <div style="clear:both;"></div>  
         </div>

    </div>

</div>

这种做法有多少组提供者

如果用户单击div id=“TextBoxAdd1”,我想向div id=“practiceGroup”添加另一个div id=“practice2”,依此类推。唯一的问题是当我添加HTML时,我不能在JQuery中使用#practice2作为选择器。要将HTML添加到div id=“practiceGroup”,我使用JQuery.append()。我尝试过使用document.createElement,但似乎也不起作用

因此,每当使用id=“practiceX”创建一个新的div时,其中X是数字,我的JQuery将不适用于。我需要从每个输入字段中获取值。另外(次要)我有模糊和焦点功能,用于设置值的输入字段。当用户在输入字段中单击时,该值将消失。这适用于第一个输入字段,但当添加新字段时,该函数不起作用

以下是我的JQuery:

var addnew = 2;

$(document).ready(function()
{
$(".formatTextWithin").focus(function inputFocus() 
{
    (this.value == 'Practice Name') && (this.value = '');   
});

$(".formatTextWithin").blur(function inputBlur() 
{
    (this.value == '') && (this.value = 'Practice Name');   
});

});

function addPractice(currentpractice){

if ($("#textBoxAddPlus"+currentpractice).hasClass('textBoxAddPlus'))
{
    $("#practiceGroup").append(

    '<div id="practice'+addnew+'">'+
        '<div class="textBoxContainer">'+
            '<input class="formatTextWithin" name="practiceName'+addnew+'" id="practiceName'+addnew+'" value="Practice Name"/>'+
            '<div class="textBoxAdd"><div id="textBoxAddPlus'+addnew+'" class="textBoxAddPlus" onClick="addPractice('+addnew+')"></div></div>'+
       '<div style="clear:both;"></div> '+
       ' </div>'+

       ' <div class="textBoxContainer">'+
           ' <input class="formatTextWithinSmall" name="groupSize'+addnew+'" id="groupSize'+addnew+'"/>'+
            '<p class="MUGroupText"><em>How many group of providers are in this practice?</em></p>'+
       '<div style="clear:both;"></div> '+
       ' </div>'+
    '</div>');

    $("#textBoxAddPlus"+currentpractice).removeClass('textBoxAddPlus');
    $("#textBoxAddPlus"+currentpractice).addClass('textBoxAddMinus');

    addnew ++;

}
else
{
    $("#practice"+currentpractice).remove();
}

};
var addnew=2;
$(文档).ready(函数()
{
$(“.formatTextWithin”).focus(函数inputFocus()
{
(this.value=='Practice Name')&&(this.value='');
});
$(“.formatTextWithin”).blur(函数inputBlur()
{
(this.value='')和&(this.value='机构名称');
});
});
功能添加实践(当前实践){
if($(“#textBoxAddPlus”+currentpractice).hasClass('textBoxAddPlus'))
{
$(“#实践小组”)。追加(
''+
''+
''+
''+
' '+
' '+
' '+
' '+
“

这种做法有多少组提供者?

”+ ' '+ ' '+ ''); $(“#textBoxAddPlus”+currentpractice).removeClass('textBoxAddPlus'); $(“#textBoxAddPlus”+currentpractice).addClass('textBoxAddPlus'); addnew++; } 其他的 { $(“#实践”+当前实践).remove(); } };
总的来说,我正试图捕捉不同的机构名称和该机构内的医师群体。如果有不同的方法来实现这一点,我愿意接受新的想法。我只是在这个问题上纠缠了很长时间


提前感谢。

是设置活动代表

$('#practiceGroup').on('focus', '.formatTextWithin', function() 
{
    if(this.value == 'Practice Name' && this.value = '') { ... }   
});

$('#practiceGroup').on('blur', '.formatTextWithin', function() 
{
    if(this.value == '' && this.value = 'Practice Name') { ... }
});

您需要使用一些委托:

$(document).ready(function () {
    $('#practiceGroup').on('focus', ".formatTextWithin", function () {
        //...
    });

    $("#practiceGroup").on('blur', ".formatTextWithin", function () {
        //...
    });

});

非常感谢。工作完美为什么你要更改你选择的答案?谢谢谢谢谢谢。。。这件事我已经被难住一段时间了。