[英]Add text boxes to HTML and use with JQuery
这可能是一个重复的问题,但是我对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时,我无法使用#practice2作为JQuery中的选择器。 要将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();
}
};
总体而言,我正在尝试捕获该实践中的不同实践名称和一组医师。 如果有其他方法可以做到这一点,那么我会提出新的想法。 我已经坚持了很长时间。
提前致谢。
是的,设置活动代表
$('#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 () {
//...
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.