Opsi Codeigniter dipilih berdasarkan hasil kueri dalam dropdown yang diisi secara acak

pemrograman


Halo,

Saya ingin opsi dipilih di dropdown kursus jika nilainya sama dengan nilai tertentu.

Dropdown kursus akan diisi secara acak setiap kali seseorang memilih program dari dropdown program.

Saya memiliki dua kotak dropdown program dan kursus, ketika saya memilih program, kursus yang sesuai akan muncul di kotak kursus, sekarang saya ingin opsi dipilih di kursus yang idnya diposting.

Tolong bantu saya untuk menyelesaikan masalah ini.

Apa yang saya coba:

PHP
<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>
JavaScript
$('#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);

                    }
      })
    });

Solusi 1

Mengutip:
JavaScript
html += '<option value='+data[i].courseid+' "option:selected" >'+data[i].course+'</option>';

HTML yang Anda buat tidak valid – Anda menambahkan atribut tidak valid "option:selected" ke elemen opsi Anda. Atributnya disebut saja selecteddan tidak boleh diapit tanda kutip:

JavaScript
html += '<option value='+data[i].courseid+' selected>'+data[i].course+'</option>';

コメント

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