변경 기능을 사용하는 데 문제가 있습니다. 나는 2 개의 서로 다른 드롭 다운이 서로 붙어있다. 첫 번째 변경 사항이 변경되면 두 번째 변경 사항도 변경됩니다. 나는 jquery ajax를 사용하여 그것을했다. 하지만 ID를 사용하면 jquery는 한 번만 작동 할 수 있습니다. 그래서 나는 javascript의 this, parent 및 children 키워드에 대한 연구를했지만 적절한 방법을 찾을 수 없습니다. 변경 기능을 사용하는 javascript 키워드 사용 방법
는 나의 자바 스크립트는 다음과 같다 :<script>
$(document).ready(function() {
// alert('js working');
$(".catSelectedClass").change(function() {
// alert('i'm inside the function dude');
function ustCat() {
alert(this);
var mainCatID = $(this).val();
alert('mainCatID captured');
var id = $(this).parent().$(".catIDClass").val();
// alert(id);
// alert(mainCatID);
$.ajax({
type: "POST",
url: "panel/catGroupPost.php",
data: {id: id, mainCatID: mainCatID}
}).done(function(data) {
var responseData = data;
alert(responseData);
$('#subCat').html($(data));
});
}
ustCat();
});
$(".subCatClass").change(function() {
function subCat() {
var mainCatID = $(this).val();
var id = $('#catID').val();
$.ajax({
type: "POST",
url: "panel/subCatPost.php",
data: {id: id, mainCatID: mainCatID}
}).done(function() {
alert('its done. its gone. Yes Mr.Frodo. Its all over now !!');
});
}
subCat();
});
});
</script>
그리고 이것은 얼마나 채우기 드롭 다운 :
while ($cat = mysql_fetch_array($cat_query)) {
$catTable.= '<label>' . $cat['name'] . '</label>';
$catTable.= '<div class="catContainer"><div id="catPost" class="catPostClass">';
$catTable.= '<input type="text" id="catID" class="catIDClass" value="' . $cat['id'] . '"><select id="catSelected" class="catSelectedClass" name="catSelected"><option value="0">Seçiniz...</option>' . catOption($cat['mainCatID']) . '</select></div>';
$kategoriTablosu.= '<div id="subCat"><select id="subCatID" class="SubCatClass"><option value="0">Seçiniz...</option>' . subCatOption($cat['mainCatID']) . '</select></div></div>';
}
내 두 기능 :
function catOption($id) {
$query = mysql_query("SELECT * FROM mainCats WHERE id=mainCatID") or die(mysql_error());
$arrCat = "";
while ($row = mysql_fetch_array($query)) {
$arrCat .= '<option value="' . $row['mainCatID'] . '"';
if ($row['id'] == $id) {
$catSelected = 'selected="selected"';
} else {
$catSelected = "";
}
$arrCat .= '' . $catSelected . '>' . $row['name'] . '</option>';
}
return $arrCat;
}
그리고 :
function subCatOption($subID) {
$subCat = mysql_query("SELECT * FROM mainCats WHERE mainCatID='$subID' ORDER BY id ") or die(mysql_error());
$subArrCat = "";
while ($row = mysql_fetch_array($subCat)) {
$subArrCat .= '<option value="' . $row['mainCatID'] . '"';
if ($row['mainCatID'] == $subID) {
$catSelected = 'selected="selected"';
} else {
$catSelected = "";
}
$subArrCat .= '' . $catSelected . '>' . $row['name'] . '</option>';
}
return $subArrCat;
}
도움 주셔서 감사합니다!
그리고 무엇이 문제였습니까? – putvande
mysql_ * 함수는 더 이상 사용되지 않으므로 사용하지 마십시오. 페이지의 요소 ID는 고유해야합니다. 이렇게하면 적절한 요소를 쉽게 선택할 수 있습니다. 이것에 관해서는 변경 기능의 맨 위에 새로운 변수를 할당해야합니다. 다른 함수를 입력하자마자 새로운 문맥을 참조하게됩니다. – Shomz
@putvande 제목에 있습니다 – Shomz