Kod
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/stydle.css">
<script type="text/javascript" src="lib/jquery.js"></script>
<title>Logika rozmyta - Jakub Soroka</title>
<script type="text/javascript" charset="utf-8">
function loadType() {
$(".load_type").change(function() {
if ($(".load_type").val() == "program")
{
var divID = "program";
var collectionCounter = 1;
$("#xmlDiv").remove();
$("#txtDiv").remove();
$("#programDiv").remove();
$(".fuzzy_number").remove();
$("#content").append("<div id='"+divID+"Div'><label for='"+divID+"'>Liczby rozmyte wprowadzane w programie: </label>" +
"<a href='#' class='add_collection' onclick='addCollection("+collectionCounter+")'>[+] dodaj zbiór rozmyty</a>" +
"</div>");
}
else if ($(".load_type").val() == "XML")
{
var divID = "xml";
$("#xmlDiv").remove();
$("#txtDiv").remove();
$("#programDiv").remove();
$(".fuzzy_number").remove();
$("#content").append("<div id='"+divID+"Div'><label for='"+divID+"'>Wybierz plik XML z liczbami rozmytymi: </label>" +
"<div id='file_field'><input type='file' name='xml_file'><br />" +
"<input type='submit' value='wyślij plik'>" +
"</div>" +
"</div>");
}
else if ($(".load_type").val() == "TXT")
{
var divID = "txt";
$("#xmlDiv").remove();
$("#txtDiv").remove();
$("#programDiv").remove();
$(".fuzzy_number").remove();
$("#content").append("<div id='"+divID+"Div'><label for='"+divID+"'>Wybierz plik TXT z liczbami rozmytymi: </label>" +
"<div id='file_field'><input type='file' name='txt_file'><br />" +
"<input type='submit' value='wyślij plik'>" +
"</div>" +
"</div>");
}
else
{
$("#xmlDiv").remove();
$("#txtDiv").remove();
$("#programDiv").remove();
$(".fuzzy_number").remove();
}
});
}
</script>
<script type="text/javascript" charset="utf-8">
function addPair(cNumber) {
var pairCounter = 1;
$(".add_pair").click(function() {
$("#"+cNumber).append("<p>(x<sub>"+pairCounter+"</sub>: <input type='text' class='fuzzy_field' name='x"+pairCounter+"'>" +
", μ<sub>"+cNumber+"</sub>(x<sub>"+pairCounter+"</sub>): <input type='text' class='fuzzy_field' name='u"+cNumber+"_x"+pairCounter+"'> )</p>");
pairCounter++;
});
}
</script>
<script type="text/javascript" charset="utf-8">
function addCollection(cNumber) {
$(".fuzzy_number").remove();
$(".add_collection").click(function() {
$("#programDiv").append("<div class='fuzzy_number' id="+cNumber+"><h2>Zbiór rozmyty: "+cNumber+"</h2><a href='#' class='add_pair' onclick='addPair("+cNumber+")'>[+] dodaj parę</a></div");
cNumber++;
})
}
</script>
</head>
<body>
<div id="container">
<div id="header">
</div>
<div id="content-top"></div>
<form method="post" action="execute.php">
<div id="content">
<div id="load_type">
<label for="load_type">Sposób wprowadzania liczb rozmytych: </label>
<div id="select_field"><select class="load_type" name="load_type" onclick="loadType()">
<option></option>
<option>program</option>
<option>XML</option>
<option>TXT</option>
</select>
</div>
</div>
</div>
</form>
<div id="content-bottom"></div>
<div id="footer">
<h3>Program wykonany przez: Jakuba Soroka. Copyrights © 2009.</h3>
</div>
</div>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/stydle.css">
<script type="text/javascript" src="lib/jquery.js"></script>
<title>Logika rozmyta - Jakub Soroka</title>
<script type="text/javascript" charset="utf-8">
function loadType() {
$(".load_type").change(function() {
if ($(".load_type").val() == "program")
{
var divID = "program";
var collectionCounter = 1;
$("#xmlDiv").remove();
$("#txtDiv").remove();
$("#programDiv").remove();
$(".fuzzy_number").remove();
$("#content").append("<div id='"+divID+"Div'><label for='"+divID+"'>Liczby rozmyte wprowadzane w programie: </label>" +
"<a href='#' class='add_collection' onclick='addCollection("+collectionCounter+")'>[+] dodaj zbiór rozmyty</a>" +
"</div>");
}
else if ($(".load_type").val() == "XML")
{
var divID = "xml";
$("#xmlDiv").remove();
$("#txtDiv").remove();
$("#programDiv").remove();
$(".fuzzy_number").remove();
$("#content").append("<div id='"+divID+"Div'><label for='"+divID+"'>Wybierz plik XML z liczbami rozmytymi: </label>" +
"<div id='file_field'><input type='file' name='xml_file'><br />" +
"<input type='submit' value='wyślij plik'>" +
"</div>" +
"</div>");
}
else if ($(".load_type").val() == "TXT")
{
var divID = "txt";
$("#xmlDiv").remove();
$("#txtDiv").remove();
$("#programDiv").remove();
$(".fuzzy_number").remove();
$("#content").append("<div id='"+divID+"Div'><label for='"+divID+"'>Wybierz plik TXT z liczbami rozmytymi: </label>" +
"<div id='file_field'><input type='file' name='txt_file'><br />" +
"<input type='submit' value='wyślij plik'>" +
"</div>" +
"</div>");
}
else
{
$("#xmlDiv").remove();
$("#txtDiv").remove();
$("#programDiv").remove();
$(".fuzzy_number").remove();
}
});
}
</script>
<script type="text/javascript" charset="utf-8">
function addPair(cNumber) {
var pairCounter = 1;
$(".add_pair").click(function() {
$("#"+cNumber).append("<p>(x<sub>"+pairCounter+"</sub>: <input type='text' class='fuzzy_field' name='x"+pairCounter+"'>" +
", μ<sub>"+cNumber+"</sub>(x<sub>"+pairCounter+"</sub>): <input type='text' class='fuzzy_field' name='u"+cNumber+"_x"+pairCounter+"'> )</p>");
pairCounter++;
});
}
</script>
<script type="text/javascript" charset="utf-8">
function addCollection(cNumber) {
$(".fuzzy_number").remove();
$(".add_collection").click(function() {
$("#programDiv").append("<div class='fuzzy_number' id="+cNumber+"><h2>Zbiór rozmyty: "+cNumber+"</h2><a href='#' class='add_pair' onclick='addPair("+cNumber+")'>[+] dodaj parę</a></div");
cNumber++;
})
}
</script>
</head>
<body>
<div id="container">
<div id="header">
</div>
<div id="content-top"></div>
<form method="post" action="execute.php">
<div id="content">
<div id="load_type">
<label for="load_type">Sposób wprowadzania liczb rozmytych: </label>
<div id="select_field"><select class="load_type" name="load_type" onclick="loadType()">
<option></option>
<option>program</option>
<option>XML</option>
<option>TXT</option>
</select>
</div>
</div>
</div>
</form>
<div id="content-bottom"></div>
<div id="footer">
<h3>Program wykonany przez: Jakuba Soroka. Copyrights © 2009.</h3>
</div>
</div>
</body>
</html>
Witam
Rozpoczełem naukę JavaScript i frameworka jQuery. Mam jednak pewne problemy z powyższym skryptem:
1. Gdy kliknę na odnośnik "dodaj zbiór rozmyty" to za pierwszym kliknięciem nic się nie dzieje, dopiero przy drugim dodaje mi odpowiednie elementy. Dodaj, ale też nie tak jak bym chciał, bo na ostatni element powiela się i wystepuje 2 razy.
2. Podobne rzeczy dzieją się równięz po kliknięciu na odnośnik "dodaj parę". Oprócz tego co wyżej źle rozpoznawane jest do którego zbioru ma być dodana dana para.
Proszę o pomoc z powyższym kodem.
Pozdrawiam
Rozwiązane:
zamiast np.: $(".add_collection").click(function() {
należy dać np.: $(".add_collection").live("click", function() {