PDA

View Full Version : سوال: append کردن تگ <input>در یک div با id مشخص



neginak
سه شنبه 13 اردیبهشت 1390, 19:10 عصر
با سلام من یک تگ <input>را با کلاس مشخصی در یک <div>با آیدی خاصی append کردم تا اینجا مشکلی نیست به خاطر اینکه در مرورگر نتیجه درست نمایش داده میشه اما وقتی رویداد کلیک رو واسه همون کلاس که از طریق jqueryبه صحفهappend کردم اجرا میکنم کار نمی کنه در حالی که اگه نام کلاس تگ رو alert کنی درسته.از طرفی اگه همون کلاس رو دستی در body تایپ کنی رویداد کلیک درست کار میکنه یه چیزی اینجا کمه . میشه بگید چی؟please please please :گریه:
$(".Min").click(function () {
$(this).parent().hide();
var element = $(this).parent().attr('title');
$('#taskbar').append('<input type="button" class="hideDiv" id="test" value="' + element + '"/>');
});
// alert($('input[type="button"]').attr('className'));
$(".hideDiv").click(function () {
alert("yes");
});

alismith
سه شنبه 13 اردیبهشت 1390, 19:37 عصر
سلام

باید این کد مشکل شما رو حل می کنه:


<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script language="javascript">
$(document).ready(function(){
$(".Min").click(function () {

$('#taskbar').append('<input type="button" class="hideDiv" id="test" value="click me!"/>');
});



$(document).delegate('input.hideDiv', 'click', function(){

alert("yes");

});

});

</script>

<style type="text/css">
.Min {backbround: blue;}
.hideDiv {border: 1px solid red;}
</style>
</head>

<body>
<input type="button" class="Min" value="set taskbar"/><br/><br/>
<div id="taskbar">

</div>
</body>
</html>



موفق باشید

exlord
سه شنبه 13 اردیبهشت 1390, 20:17 عصر
اگه این کد ها همشون پست سر هم ن.شته شده باید هم کار نکنه ....
شما وقتی که میخواین به hidediv اونت کلیک رو اضافه کنین چون که هنوز min کلیک نشده و همچین المنتی وجود نداره پس اونتی هم ساخته نخواهد شد .... کدتونو اینجوری تغییر بدین ...
$(".Min").click(function () {
$(this).parent().hide();
var element = $(this).parent().attr('title');
$('#taskbar').append('<input type="button" class="hideDiv" id="test" value="' + element + '"/>');
$(".hideDiv").click(function () {
alert("yes");
});
});

از اون بهتر هم اینه که اینجوری بنویسی ...

jQuery('<input/>', {
id: 'test',
type: 'button',
class: 'hideDiv',
value: element,
click: function () { alert('yooooooo'); }
}).appendTo('#taskbar');

neginak
یک شنبه 18 اردیبهشت 1390, 21:58 عصر
سلام با تشکر از شما ذوست گرامی به خاطر کمکتون
thanks thanks thanks:لبخندساده: