تم تحديد خيار Codeigniter بناءً على نتيجة الاستعلام في القائمة المنسدلة المملوءة بشكل عشوائي


مرحبًا،

أريد تحديد خيار في القائمة المنسدلة للدورة التدريبية إذا كان يساوي قيمة معينة.

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

لدي مربعين منسدلين للبرنامج والدورة التدريبية، عندما أحدد البرنامج، تأتي الدورات التدريبية المقابلة في مربع الدورة التدريبية، والآن أريد تحديد الخيار في الدورات التدريبية التي تم نشر معرفها.

الرجاء مساعدتي في حل المشكلة.

ما حاولت:

بي أتش بي
<div class="form-group">
	<label for="program">Program</label>
	<select class="form-control" name="programid" id="programid" required>
	  <option value="">Select Program</option>
	  <?php foreach($programs as $obj) { ?>
		<option value="<?=$obj['programid'] ?>"<?php if($row['programid'] == $obj['programid']) { ?> selected <?php } ?> ><?=$obj['program'] ?></option>
		<?php } ?>
	</select>
  </div>
  <div class="form-group">
	<label for="course">Course</label>
	<select class="form-control" name="courseid" id="courseid" required>
	</select>
 </div>
جافا سكريبت
$('#programid').change(function() {
      var programid = $(this).val();
      var courseid = null;
      <?php if($row['courseid'] != null && !empty($row['courseid'])) { ?> courseid = <?php echo $row['courseid']; }  ?>       
      $.ajax({
        url : "<?=site_url('get_courses');?>",
                    method : "POST",
                    data : {programid: programid},
                    async : true,
                    dataType : 'json',
                    success: function(data){                       
                        var html = '<option value="">Select Course</option>';
                        var i;
                        for(i=0; i<data.length; i++){
                            if(data[i].courseid == courseid)
                            {
                                html += '<option value='+data[i].courseid+' "option:selected" >'+data[i].course+'</option>';
                            }
                            else
                            {
                            html += '<option value='+data[i].courseid+'>'+data[i].course+'</option>';
                            }
                        }
                        $('#courseid').html(html);

                    }
      })
    });

الحل 1

يقتبس:
جافا سكريبت
html += '<option value='+data[i].courseid+' "option:selected" >'+data[i].course+'</option>';

HTML الذي تم إنشاؤه غير صالح – أنت تضيف السمة غير الصالحة "option:selected" إلى عنصر الخيار الخاص بك. يتم استدعاء السمة ببساطة selected، ولا ينبغي أن تكون ملفوفة بين علامتي اقتباس:

جافا سكريبت
html += '<option value='+data[i].courseid+' selected>'+data[i].course+'</option>';

コメント

タイトルとURLをコピーしました