Tùy chọn Codeigniter đã chọn dựa trên kết quả truy vấn trong danh sách thả xuống được điền ngẫu nhiên

lập trình


Xin chào,

Tôi muốn chọn một tùy chọn trong danh sách khóa học thả xuống nếu nó bằng một giá trị nhất định.

Danh sách thả xuống khóa học sẽ được điền ngẫu nhiên mỗi khi người ta chọn một chương trình từ danh sách thả xuống của chương trình.

Tôi có hai hộp thả xuống chương trình và khóa học, khi tôi chọn chương trình, các khóa học tương ứng sẽ xuất hiện trong hộp khóa học, bây giờ tôi muốn tùy chọn được chọn trong các khóa học có id được đăng.

Xin hãy giúp tôi giải quyết vấn đề.

Những gì tôi đã thử:

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);

                    }
      })
    });

Giải pháp 1

Trích dẫn:
JavaScript
html += '<option value='+data[i].courseid+' "option:selected" >'+data[i].course+'</option>';

HTML được tạo của bạn không hợp lệ – bạn đang thêm thuộc tính không hợp lệ "option:selected" vào phần tử tùy chọn của bạn. Thuộc tính này được gọi đơn giản selectedvà không được đặt trong dấu ngoặc kép:

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

コメント

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