السلام عليكم
الاخوة الكرام ،
لدي قائمة منسدلة و قمت بعمل برنامج مع تقنية الاجاكس لكي يظهر لي قائمة أخرى مرتبط بالأولى.
و لكن :
عند ظهور القائمة الثانية ، هناك بعض الامور ايضا اريد استخراجها مستخدما المعلومات التي بداخل القائمة الثانية .
هنا توقفت تماما ..
عملت بعض الاشياء و اتوقع اني بالقرب من نقطة النهاية :
و إليكم الملفات :
ملف product.js
كود:
function Getproducts(str)
{
var xmlhttp;
var str;
str=document.getElementById("manufactures").value;
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
alert("Your browser does not support XMLHTTP!");
}
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
{
var info = xmlhttp.responseText;
var data = info.split("~");
if(data[0]!='')
{
document.getElementById("productsview").innerHTML = data[0];
}
document.getElementById("productsprice").value = "";
document.getElementById("productsdesc").value = "";
}
}
str=document.getElementById("manufactures").value;
xmlhttp.open("GET","getdataajax.php"+"?action=getcatproducts&ccid="+escape(str),true);
xmlhttp.send(null);
}
function GetDESC(str)
{
var xmlhttp;
var str;
str=document.getElementById("products").value;
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
alert("Your browser does not support XMLHTTP!");
}
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
{
var info = xmlhttp.responseText;
var data = info.split("~");
if(data[0]!='')
{
document.getElementById("productsprice").value = data[0];
}
if(data[1]!='')
{
document.getElementById("productsdesc").value = data[1];
}
}
}
str=document.getElementById("products").value;
xmlhttp.open("GET","getdataajax.php"+"?action=getproduct&pid="+escape(str),true);
xmlhttp.send(null);
}
ملف index.php و الفورم
كود:
<form name="cats" id="editinfo_form" method="POST" action="login.php">
<label for="pcat">تصنيف المنتج :</label>
<?
$r2 = $db->select("SELECT * FROM cats");
echo "<select name='manufactures' id='manufactures' onchange='Getproducts(this.value);'>";
echo "<option value='0'>إختر التصنيف</option>";
while ($row=$db->get_row($r2, 'MYSQL_ASSOC')) {
extract($row);
echo "<option value='$id'>$name</option>";
}
echo "</select>";
?>
<br />
<span id='productsview'>
<select name='products' id='products' style="width:220px;">
<option value="">Select</option>
</select></span>
<br>
<input type="text" name="productsprice" id="productsprice" size="20"/>
<br>
<textarea rows="7" cols="30" id="productsdesc" name="productsdesc"></textarea>
<p><input type="submit" value=" إرسال الطلب " value="name" /></p>
</form>
و أخيرا ملف ال php الذي يقوم بعمليات الاستعلام
كود:
if ($action == "getproduct"){
$r3 = $db->select("SELECT * FROM products WHERE pid='$pid'");
while ($row=$db->get_row($r3, 'MYSQL_ASSOC')) {
extract($row);
echo "<input type='text' name='productsprice' id='productsprice' value=$price size='20'>";
}
}
if ($action == "getcatproducts"){
//echo "<label for='productslist'>إسم المنتج :</label>";
$r2 = $db->select("SELECT * FROM products WHERE catid = '$ccid'");
echo "<select onchange='GetDESC(this.value);'>";
echo "<option value='0'>إختر اسم المنتج</option>";
while ($row=$db->get_row($r2, 'MYSQL_ASSOC')) {
extract($row);
$productid = $pid;
echo "<option value='$productid'>$pname</option>";
}
echo "</select>";
النتيجة التي أريد الوصول لها ، مرفقه بالأسفل كصورة .
أتمنى التعليق على الموضوع و لكم مني جزيل الشكر و الامتنان ..
بحفظ الله ،