PDA

View Full Version : ساخت چند تگ جدید داخل یک div



gama_slv
چهارشنبه 07 خرداد 1393, 10:52 صبح
یک کد نوشتم به این صورت
function PostChild(element) {
var CheckValue = $(element).attr("CheckValue");
var Value = $(element).attr("value");
if (CheckValue == "0") {

$("<div/>", { id: 'Comment_' + Value, Class: 'AnswerComment' } ).appendTo('#' + Value);



$(element).attr("CheckValue", 1);
} else {
$('#Comment_' + Value).remove();
$(element).attr("CheckValue", 0);
}

حالا می خوام در div که
$("<div/>", { id: 'Comment_' + Value, Class: 'AnswerComment' } ).appendTo('#' + Value);

ساخته شده چند تا تگ دیگه بسازم
این div کد html این میششه ولی چون div بسته شده نمیتونم داخل چیزی بریزم


<div id="Comment_51d595b9-c696-47b4-a8b3-b4087e738d2a" class="AnswerComment"></div>

Mori Bone
چهارشنبه 07 خرداد 1393, 11:59 صبح
با .addHtml یا .add این کارو انجام بده
سرچ کنی حتما پیدا میکنی:تشویق:

gama_slv
چهارشنبه 07 خرداد 1393, 13:11 عصر
از append. استفاده کردم جواب داد و کدش هم بصورت زیر


$('#Comment_' + Value).append(Comment_d.join(''));

کد کاملش هم این

$("<div/>", { id: 'Comment_' + Value, Class: 'AnswerComment' }).appendTo('#' + Value);
var Comment_d = [];
Comment_d.push(


'<div class="AnswerInfo">' +
'<div class=" Listlable">' +
'<span class="LablAnswer">' + 'نام نام خانوادگی' + '</span>' +
' <br />' +
' <input id="TxtNameAnwswer" class="TextAnswer" type="text" />' +
'</div>' +


'<div class=" Listlable">' +
'<span class="LablAnswer">' + 'ایمیل' + '</span>' +
' <br />' +
' <input id="TxtEmailAnwswer" class="TextAnswer" type="text" />' +
'</div>' +


'<div class=" Listlable">' +
'<span class="LablAnswer">' + 'سایت' + '</span>' +
' <br />' +
' <input id="TxtSitelAnwswer" class="TextAnswer" type="text" />' +
'</div>'
+ '</div>' +






'<div class="AnswerNote">' +
'<div class="listNote">' +
'<span class="LableAnswerNote" >' + 'متن نظر' + '</span>' +
' <br />' +
'<textarea id="AnswerNoteText" class="AnswerNoteText"></textarea>' +
'</div >' +

'<div class="BottenAnswer">' +
'<input id="PostAnswer" type="button" value="ارسال" class="PostAnswer" onclick="PostAnswer" />' +
'</div>' +
'</div>'


);


$('#Comment_' + Value).append(Comment_d.join(''));




:چشمک:

gama_slv
چهارشنبه 07 خرداد 1393, 13:51 عصر
حالا برام یک مشکل تازه بوجود امده
تو کد بالا یک input ساختم

<input id="PostAnswer" type="button" value="ارسال" class="PostAnswer" onclick="PostAnswer" />
این تگ رو چطوری event کلیک رو اجرا کنم؟؟؟

Mori Bone
چهارشنبه 07 خرداد 1393, 13:53 عصر
$("#PostAnswer").click(function(e) {
alert('s');
});

gama_slv
چهارشنبه 07 خرداد 1393, 14:14 عصر
متاسفانه عمل نمیکنه:ناراحت:
دارم ماژول نظرات یا همون comment رو با js میسازم
این کل js که من نوشتم


var root = location.protocol + "//" + location.host + "/"
var scrollLoad = true;
$(document).ready(function () {
//ListComment

var dataString = {
News: getParameterByName("IDNews"),
SkipValue: $("#ListComment").attr("SkipValue")
}

$.ajax({
type: "POST",
url: root + "WebService/Article/CommentNews.asmx/GetCommentStep1",
data: JSON.stringify(dataString),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
var items = msg.d;


if (items.length > 0) {
var listItems = [];
for (var key in items) {
childcommnet(items[key].id, items[key].guid, function () {
});

listItems.push(
'<li id=' + items[key].guid + ' class="ItemCommnet">' +
'<label class="Name">' + items[key].nameFamily + '</label>' +
'<label class="commentText">' + items[key].commentText + '</label>' +
'<div class="FooterComment">' + '<span id="PostChild" class="PostChild" CheckValue="0" value="' + items[key].guid + '" onclick="PostChild(this);">' + 'پاسخ به این نظر' + '</span>' +
'<span id="VoteUp" class="VoteUp" value="' + items[key].guid + '" onclick="Comment_VoteUp(this);">' + items[key].voteUP + '</span>' +
'<span id="VoteDown" class="VoteDown" value="' + items[key].guid + '" onclick="Comment_VoteDown(this);">' + items[key].voteDown + '</span>' +
' <span id="Fuole" class="Fuole" value="' + items[key].guid + '" onclick="Comment_Foul(this);"/>'
+ '</div>' +
'</li>' +
'<div id=BodyChild_' + items[key].guid + '></div>'
);
}
$("#ListComment").append(listItems.join(''));

}
else {

}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
}
});

$("#PostComment").click(function () {
if ($("#CommentNote").val() != '') {

var dataString = {
news: getParameterByName("IDNews"),
nameFamily: $("#TxtName").val(),
email: $("#TxtEmail").val(),
site: $("#TxtSite").val(),
commentText: $("#CommentNote").val()
}
$('#CommentLoading').show();
$.ajax({
type: "POST",
url: root + "WebService/Article/CommentNews.asmx/SendCommentStep1",
data: JSON.stringify(dataString),
contentType: "application/json; charset=utf-8",
dataType: "json",

success: function (msg) {
var items = msg.d;
if (items == true) {

$('#CommentTop').remove();
} else {
$('#CommentLoading').hide();
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {

}
});
}

});

});


function childcommnet(id, guid, callback) {
$("#ListComment").attr("id")
var dataString = {
News: getParameterByName("IDNews"),
Parent: id
}


$.ajax({
type: "POST",
url: root + "WebService/Article/CommentNews.asmx/GetCommentChild",
data: JSON.stringify(dataString),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
var items = msg.d;
if (items.length > 0) {
var listItems = [];
for (var key in items) {
childcommnet(items[key].id, items[key].guid, function () {

});
listItems.push(
'<li id=' + items[key].guid + ' class="ItemCommnet">' +
'<label class="Name">' + items[key].nameFamily + '</label>' +
'<label class="commentText">' + items[key].commentText + '</label>' +
'<div class="FooterComment">' + '<span id="PostChild" CheckValue="0" class="PostChild" value="' + items[key].guid + '" onclick="PostChild(this);">' + 'پاسخ به این نظر' + '</span>' +

'<span id="VoteUp" class="VoteUp" value="' + items[key].guid + '" onclick="Comment_VoteUp(this);" >' + items[key].voteUP + '</span>' +
'<span id="VoteDown" class="VoteDown" value="' + items[key].guid + '" onclick="Comment_VoteDown(this);">' + items[key].voteDown + '</span>' +
' <span id="Fuole" class="Fuole" value="' + items[key].guid + '" onclick="Comment_Foul(this);"/>' +
'</div>'

+ '</li>' +
'<div class="BodyChild" id=BodyChild_' + items[key].guid + '/>'
);
}

$('#BodyChild_' + guid).append(listItems.join(''));

//load li if id
//$('#' + id).append(listItems.join(''));

}
else {
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {

}
});
}

function Comment_VoteUp(element) {
var Value = $(element).attr("value");

$("span[value=" + Value + "]").remove();
var dataString = {
Type: 1,
ID: Value,
}

$.ajax({
type: "POST",
url: root + "WebService/Article/CommentNews.asmx/UpdateLikeCommnet",
data: JSON.stringify(dataString),
contentType: "application/json; charset=utf-8",
dataType: "json",

success: function (msg) {
var items = msg.d;
if (items == true) {


}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {

}
});
}

function Comment_VoteDown(element) {
var Value = $(element).attr("value");

$("span[value=" + Value + "]").remove();
var dataString = {
Type: 2,
ID: Value,
}

$.ajax({
type: "POST",
url: root + "WebService/Article/CommentNews.asmx/UpdateLikeCommnet",
data: JSON.stringify(dataString),
contentType: "application/json; charset=utf-8",
dataType: "json",

success: function (msg) {
var items = msg.d;
if (items == true) {

}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {

}
});

}

function Comment_Foul(element) {
var Value = $(element).attr("value");

$(".Fuole[value=" + Value + "]").remove();
var dataString = {
ID: Value,
}

$.ajax({
type: "POST",
url: root + "WebService/Article/CommentNews.asmx/UpdateFoulCommnet",
data: JSON.stringify(dataString),
contentType: "application/json; charset=utf-8",
dataType: "json",

success: function (msg) {
var items = msg.d;
if (items == true) {

}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {

}
});
}

function PostChild(element) {
var CheckValue = $(element).attr("CheckValue");
var Value = $(element).attr("value");
if (CheckValue == "0") {

$("<div/>", { id: 'Comment_' + Value, Class: 'AnswerComment' }).appendTo('#' + Value);
var Comment_d = [];
Comment_d.push(

'<div class="AnswerInfo">' +
'<div class=" Listlable">' +
'<span class="LablAnswer">' + 'نام نام خانوادگی' + '</span>' +
' <br />' +
' <input id="TxtNameAnwswer" class="TextAnswer" type="text" />' +
'</div>' +

'<div class=" Listlable">' +
'<span class="LablAnswer">' + 'ایمیل' + '</span>' +
' <br />' +
' <input id="TxtEmailAnwswer" class="TextAnswer" type="text" />' +
'</div>' +

'<div class=" Listlable">' +
'<span class="LablAnswer">' + 'سایت' + '</span>' +
' <br />' +
' <input id="TxtSitelAnwswer" class="TextAnswer" type="text" />' +
'</div>'
+ '</div>' +


'<div class="AnswerNote">' +
'<div class="listNote">' +
'<span class="LableAnswerNote" >' + 'متن نظر' + '</span>' +
' <br />' +
'<textarea id="AnswerNoteText" class="AnswerNoteText"></textarea>' +
'</div >' +

'<div class="BottenAnswer">' +
'<input id="PostAnswer" type="button" value="ارسال" class="PostAnswer" onclick="PostAnswer" />' +
'<input id="CancelAnswer" type="button" value="انصراف" class="CancelAnswer" onclick="CancelAnswer" />' +
'</div>' +
'</div>'

);

$('#Comment_' + Value).append(Comment_d.join(''));

$(element).attr("CheckValue", 1);

} else {
$('#Comment_' + Value).remove();
$(element).attr("CheckValue", 0);
}
}

$("#PostAnswer").click(function (e) {
alert('s');
});

function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}


اگر میشه کمک کنید:گریه: