الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن كيفية تطبيق كود جافا على الاداة select

بدأه almontade في 25 مايو 2010 · 12 رد · 1,868 مشاهدة · في قسم البرمجة بــ Javascript
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحبا جميعا....

عندي سؤال حول كيفية تطبيق كود جافا على الاداة select في html

اي انه اذا كان لدي 31 اداة من select وتوجد بداخل كل select قيم من 1 الى 31

الان اذا اختار القيمة 1 من الـ select الاول مثلا فانه لا يستطيع اختيار القيمة 1 من باقي الـselect

وهكذا من الباقي اي اذا اختار القيمة 2 في الselect الثاني لا يستطيع ان يختار القيمة 2 من باقي الselect

وهكذا الى القيمة 31

ومثال على ذلك صورة في المرفقات

وشكرا لتعاونكم ..

post-194574-12747731837029_thumb.jpg

..!Welcome To The Development Technology

#2

شو مافي ردود

..!Welcome To The Development Technology

#3

ما في محاولة منك؟اكيد ما حد رح يرد

أسهل عليك الفكرة

اعمل جملة دوران على الselects كاملين وتأكد منهم في كل مرة بتعمل اختيار من الselect ،وهي مثال على جملة الدوران عليهم :

<html dir="rtl">

<head>
<script>
function show(selects){
var selectname=document.getElementById("form").getElementsByTagName("select");
for(i=0;i<2;i++){
if(selectname.value==selects){
selectname.value=1;
}
}
}
</script>
</head>

<body>
<form id="form">
<select name="one" onchange="show(this.value);">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select name="two" onchange="show(this.value);">
<option value="1">1</option>
<option value="2">2</option>
</select>
</form>
</body>

</html>

اتمنى انه الفكرة تفيدك بشيء,سلام

FineDesign For Graphic and WebDesign

ForEach(Minute in MyLife)

MyExperience ++;

#4

مشكور كتير على الرد الجميل .... بس على فكرة انا عن جديد عم اتعلم javascript و php يعني اكيد ما رح تكون في هلمحاولة العظيعة

ومشكور مرة ثانية

..!Welcome To The Development Technology

#5

السلام عليكم

بصراحة فكرتك اخذت مني وقت وعملتها بالبداية اني احذف القيمة المنتقاة من باقي القوايم ولكن ماذا لو حصل خطا

كيف يمكنه العودة مثلا ماذا لو اختار الرقم 15 بدل 14

هنا وجب ان افكر بحل بديل

عملية تبديل القيم حل بسيط وسهل اتمنى ان يحقق المطلوب

1.rar

In bad state

#6

ياسيدي انتي الله خالقك فهمان ...هيك بالفطرة .....مشكور كتير يا طيب هلقق مشي حالي تمام

..!Welcome To The Development Technology

#7

تسلم يا طيب وربنا يخليك

الحمد لله ماشي حال :)

In bad state

#8

h مشكور كتير مرة ثانية بس يا ريت تشرحلي الكود لانو في شي فهمتو وشي ما فهمتو يعني افكار متقطعة

<script language="javascript" type="text/javascript">

function rem(id,v) {

var idsi = parseInt(document.getElementById(id).selectedIndex);

var id = parseInt(id);

for (var t = 0; t < 32; t++) {

isi = parseInt(document.getElementById(t).selectedIndex);

if ((isi == v) && (id!=t)) {

document.getElementById(t).selectedIndex=0

}

}

}

document.write("<table>");

for(var i=0;i<32;i++)

{

document.write("<tr><td><select id='" + i + "' style='width: 118px; height: 16px' onchange='rem(this.id,this.value)'> ")

for(var j=0;j<32;j++)

{

document.write("<option value="+j+">"+j+"</option>");

}

document.write("</select></td><td>"+i+"</td></tr>");

}

document.write("</table>");

..!Welcome To The Development Technology

#9

السلام عليكم

اخي الكريم انا اعملت توليد ديناميكي للقوائم بما يتلائم مع الخرج البرمجي اللذي تولده لغة برمجة السيرفر

document.write("<table>");
بداية انشاء جدول
for(var i=0;i<10;i++) 
بناء عشر قوائم منسدلة
{
    document.write("<tr><td><select id='" + i + "' style='width: 118px; height: 16px' onchange='rem(this.id,this.value)'> ")
نقل القيمة المختارة من حدث الاختيار  نقل قيمة المعرف والقيمة المختارة من القائمة المنسدلة
for(var j=0;j<10;j++)
{
document.write("<option  value="+j+">"+j+"</option>");
تعبئة القوائم المنسدلة بعشر ارقام
}
document.write("</select></td><td>"+i+"</td></tr>");
}
document.write("</table>");

بظن الكود السابق واضح اي عملية بناء عشر قوائم منسدلة تحتوي كل واحدة منها عشر خيارات

التابع اللذي يستقبل معرف القائمة المنسدلة والقيمة المختارة

    function rem(id,v) {
استقبال قيمتين المعرف والقيمة
             var idsi = parseInt(document.getElementById(id).selectedIndex);
تحويل القيمة المختارة للعنصر الى نمط رقمي طبعا انا وضعت القيمة الافتراضية وهي نفسها 
             var id = parseInt(id);
             for (var t = 0; t < 10; t++) {
انشاء حلقة للدوران 
                 isi = parseInt(document.getElementById(t).selectedIndex);
هنا النقطة المهمة جدا اخذ القيمة الافتراضية لكل قايمة منسدلة
                 if ((isi == v) && (id!=t)) {
الشرط المهماذا كانت القيمة الافتراضية مع القيمة المختارة عدا قيمة القائمة المنسدلة نفسها 
                     document.getElementById(t).selectedIndex=0
تحويل تلك القيمة الى صفر طبعا هنا يمكنك اعطاء القيم كما تريد من الممكن ان تعطيه رسالة بدل الصفر انه تم اختيار العنصر او او او 
                 }
             }

}

اتمنى ان اكون قد وفقت في الشرح

In bad state

#10

يعطيك الف عافية على الشرح فهمتو تمام

بس طبقتو على مشروعي ما مشي حالوا لانو انت في الكود كاتب انو يكرر ال SELECT وعلى حسب التكرار يحددد يعني ياخذ على حسب التكرار

وانا بدي اضع كل SELECT قي TD لحاله وعند ما احدد الرقم واحد في SELECT الثاني الموجود في الTD الثاني ويكون محدد هذا الرقم في الSELECT الاول والتي تكون موجوده في الTD الاول يرجع الى الصفر متل مانك عامل في الفكرة السابقة

بس انا اشتغلت في الفكرة وما مشي حالها وما عم يطبق السكربت عليه

يعني انت اشتغلت الفكرة على حسب ال SELECT بس انا بدي كل SELECT في TD وطبق فكرتك نفسها عليهم

لانو انا محتاج اخذ بعدها قيمة كل SELECT محدد (يعني SELECT الاول الرقم واحد ..الثاني 3..الثالث 11 وهكذا ...)

شوف الملف في المرفقات واكون الك من الشاكرين

Desire.rar

..!Welcome To The Development Technology

#11

السلام عليكم

سؤال صديقي هل تريد ان تكون كل سيليكت برقم

اي الاولى 1

الثانية 2

هذه بسيطة جدا واسهل بكثير من هذه الطريقة

كفكرة حلوة انو يتم هذا العمل في حدث التحميل وفي حال التغيير يقوم باستبدال القيم

المهم انا بالسكريبت يلي صممتو مصمم tr and td

يعني انا عما صمم جدول فانت اذا خرج القوائم ديناميكي من برمجة السيرفر البي اتش بي مانك بحاجة لكود التوليد

المهم

انا حملت المرفق انت لم تولد ابدا اي قائمة منسدلة المهم ان اردت الحفاظ على القوائم التي يولدها السكريبت يلي صممتو انا هذا بيصير اصعب انا كان غرضي كمثال

بكل الاحوال انا لديي امتحان يوم الاحد وان شاء الله اعملك مثال بي اتش بي مع قوائم منسدلة واضافة طبعا قبل الاحد بيكون صعب اعملو

وانا اسف كوني لم استطع القيام بالمساعدة المبتغاة

−1

In bad state

#12

بالعكس مشكور كتير وبارك الله فيك على مجهودك الرائع وانت ابليت بلائا حسنا ...وانا بانتظار المثال بعد فحصك واعدعو الله ان يوفقك في الفحص ويجعله خيرا وكشربة ماء عليك

..!Welcome To The Development Technology

#13

مجرد مثال بسيط انشأ قاعدة بيانات باسم test

انشاء الجدول

CREATE TABLE `test`.`test` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 50 ) NOT NULL ,
`phone` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` ) 
) ENGINE = InnoDB

ادخل به سبعة سطور الفكرة هنا مجرد مثال كون الشرط بكود الجافا سكريبت هو اقل من 7

لكي يكون العمل ديناميكي يكفي معرفة العدد المرجع من الداتا بيس باستخدام التابع

mysql_num_rows()

<?php

$db=mysql_connect("localhost","root","");
mysql_select_db("test",$db);
$res=mysql_query("SELECT * FROM `test`  ",$db);
$t="<table border='1'><tr><th>Name</th></th><th>phoneline</th><th>phoneline</th></tr>";
$i=0;
$num=mysql_num_rows($res);

echo $test=<<<m
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled 1</title>
<script language="javascript" type="text/javascript">
    function rem(id,v) {
             for (var t = 0; t < $num; t++) 
             {                                             
                var isi = parseInt(document.getElementById(t).selectedIndex);
                  if ((isi == v) && (id!=t)) {
                 document.getElementById(t).selectedIndex=0;
                }
                else
                {

                }

             }
}
</script>
</head>

<body>
m;



while($r=mysql_fetch_row($res)) 
{

$t.="<tr><td>{$r[1]}</td>";
$t.="<td>{$r[2]}</td>";

$t.="<td><select id= '".$i."'  style='width: 118px; height: 16px' onchange='rem(this.id,this.value)'> )";
for($j=0;$j<10;$j++)
{
$t.="<option  value='".$j."'>".$j."</option>";
}
$t.="</select></td></tr>";
$i++;
}

$t.="</table>";
echo $t; 
echo $s;


echo $back=<<<mod


</body>

</html>
mod;
?>

المثال عملتو على السريع

لاي استفسار تدوينها هنا

تم تعديل هذه المشاركة بواسطة X-File في 20 يونيو 2010 في 21:45

In bad state

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…