[ad_1]
你好,
我希望在课程下拉列表中选择一个选项(如果它等于某个值)。
每次从课程下拉列表中选择一个课程时,课程下拉列表都会随机填充。
我有两个下拉框程序和课程,当我选择程序时,相应的课程就会出现在课程框中,现在我想要在发布了 id 的课程中选择该选项。
请帮我解决这个问题。
我尝试过的:
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); } }) });
解决方案1
引用:JavaScripthtml += '<option value='+data[i].courseid+' "option:selected" >'+data[i].course+'</option>';
您生成的 HTML 无效 – 您添加的属性无效 "option:selected"
到您的选项元素。 该属性简单地称为 selected
,并且不应用引号引起来:
JavaScript
html += '<option value='+data[i].courseid+' selected>'+data[i].course+'</option>';
[ad_2]
コメント