Kod
$().ready(function() {
var a=0;
$(".addMore a").on({
click:function(e) {
if(a==0) {
$(".minusMore").prepend('<a href="">- Odejmij pole do wprowadzania wp³ywu</a>');
}
a++;
$('#addFormMoney>ul').append(
'<li>'+
'<p>'+(a+1)+'</p>'+
'<div>'+
'<label>Podaj warto¶æ wp³ywu</label>'+
'<input type="text" name="valueMoney[]" value="">'+
'<label>Wybierz kategorie wp³ywu</label>'+
'<div>'+
'<h4><a href="#">Wybierz kategorie</a></h4>'+
'<ul>'+
'<li><a href="">Bartons</a></li>'+
'<li><a href="">TLS</a></li>'+
'<li><a href="">kat 3</a></li>'+
'<li><a href="">kat 4</a></li>'+
'<li><a href="">kat 5</a></li>'+
'</ul>'+
'<select name="catEnter[]">'+
'<option value="Bartons" selected="selected">Bartons</option>'+
'<option value="TLS">TLS</option>'+
'<option value="kat 3">kat 3</option>'+
'<option value="kat 4">kat 4</option>'+
'<option value="kat 5">kat 5</option>'+
'</select>'+
'</div>'+
'</div>'+
'</li>'
);
e.preventDefault();
}
});
$(".minusMore").delegate("a","click",function(e) {
$("#addFormMoney li").eq(a).remove();
--a;
if(a==0) {
$(".minusMore").text(' ');
}
e.preventDefault();
});
$("#addFormMoney ul").on("click","h4 a",function(e) {
$(this).parent().next().fadeIn();
e.preventDefault();
});
$("#addFormMoney ul ul").on("click","li a",function(e) {
var indexLi=$(this).parent().index();
$(this).parent().parent().next().find("option").removeAttr("selected").eq(indexLi).attr({selected:"selected"});
$(this).parent().parent().fadeOut();
e.preventDefault();
});
$("#addFormMoney ul").on({
click:function(e) {
//e.preventDefault();
//e.stopPropagation();
}
});
$("html").on({
click:function() {
//$("#addFormMoney ul ul").fadeOut();
}
});
});
i HTML var a=0;
$(".addMore a").on({
click:function(e) {
if(a==0) {
$(".minusMore").prepend('<a href="">- Odejmij pole do wprowadzania wp³ywu</a>');
}
a++;
$('#addFormMoney>ul').append(
'<li>'+
'<p>'+(a+1)+'</p>'+
'<div>'+
'<label>Podaj warto¶æ wp³ywu</label>'+
'<input type="text" name="valueMoney[]" value="">'+
'<label>Wybierz kategorie wp³ywu</label>'+
'<div>'+
'<h4><a href="#">Wybierz kategorie</a></h4>'+
'<ul>'+
'<li><a href="">Bartons</a></li>'+
'<li><a href="">TLS</a></li>'+
'<li><a href="">kat 3</a></li>'+
'<li><a href="">kat 4</a></li>'+
'<li><a href="">kat 5</a></li>'+
'</ul>'+
'<select name="catEnter[]">'+
'<option value="Bartons" selected="selected">Bartons</option>'+
'<option value="TLS">TLS</option>'+
'<option value="kat 3">kat 3</option>'+
'<option value="kat 4">kat 4</option>'+
'<option value="kat 5">kat 5</option>'+
'</select>'+
'</div>'+
'</div>'+
'</li>'
);
e.preventDefault();
}
});
$(".minusMore").delegate("a","click",function(e) {
$("#addFormMoney li").eq(a).remove();
--a;
if(a==0) {
$(".minusMore").text(' ');
}
e.preventDefault();
});
$("#addFormMoney ul").on("click","h4 a",function(e) {
$(this).parent().next().fadeIn();
e.preventDefault();
});
$("#addFormMoney ul ul").on("click","li a",function(e) {
var indexLi=$(this).parent().index();
$(this).parent().parent().next().find("option").removeAttr("selected").eq(indexLi).attr({selected:"selected"});
$(this).parent().parent().fadeOut();
e.preventDefault();
});
$("#addFormMoney ul").on({
click:function(e) {
//e.preventDefault();
//e.stopPropagation();
}
});
$("html").on({
click:function() {
//$("#addFormMoney ul ul").fadeOut();
}
});
});
Najpierw za pomoc± linku o selektorze "#addFormMoney ul h4 a" dodaje troche kodu HTML, czyli poleformularza typu tekstowego i seleca, którego wy³±czam i styluje diva by mieæ efekt ostylowanego selecta oraz 2 labele [dzia³a]. Jeden taki zestaw jest dostepny zawsze, wybieram z opcji liste i opcja trafia do $_POST co te¿ dzia³a. Gdy jednak rozwine jak±¶ nowo dodan± liste i wybiorê jak±¶ opcje to strona siê prze³adowywuje. Tak jakby e.preventDefault nie dzia³a³o. Dlaczego tak siê dzieje. Z góry dziêkuje za pomoc.
<div id="right"> <form method="post" action="addenter.php" id="addFormMoney"> <ul> <li> <div> <input type="text" name="valueMoney[]" value=""> <div> <ul> </ul> <select name="catEnter[]"> </select> </div> </div> </li> </ul> <input type="submit" value="Dodaj nowy wp³yw"> </form> <?php echo '<pre>'; print_r($_POST); echo '</pre>'; ?> </div>