[ad_1]
Hola,
Quiero que se seleccione una opción en el menú desplegable del curso si equivale a un valor determinado.
El menú desplegable del curso se completará aleatoriamente cada vez que se seleccione un programa del menú desplegable.
Tengo dos cuadros desplegables programa y curso, cuando selecciono el programa vienen los cursos correspondientes en el cuadro del curso, ahora quiero seleccionar la opción en los cursos cuyo id está publicado.
Por favor ayúdame a resolver el problema.
Lo que he probado:
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); } }) });
Solución 1
Cita:javascripthtml += '<option value='+data[i].courseid+' "option:selected" >'+data[i].course+'</option>';
Su HTML generado no es válido: está agregando el atributo no válido "option:selected"
a su elemento de opción. El atributo se llama simplemente selected
y no debe estar entre comillas:
javascript
html += '<option value='+data[i].courseid+' selected>'+data[i].course+'</option>';
[ad_2]
コメント