我有部分工作代码可以从下拉列表中选择来自MySql / PHP的正确值。
jQuery( document ).ready( function ( $ ) {
$( '#hosp_country' ).find( 'option[value=<?php echo $tE['hosp_country']; ?>]' ).attr( 'selected', 'selected' );
} );
如果值$ tE ['hosp_country']-是一个单词,则一切正常,例如,在选择项“阿根廷”或“亚美尼亚”中选择了正确的值。
如果该值超过一个带空格的单词,则不会选择该值。例如“ Bovet Island”或“ Czech Republic”。
我有什么不对?
答案 0 :(得分:0)
代码中的问题是,您没有在jquery属性选择器内用双引号括住value属性的值。
正确的代码如下:
jQuery( document ).ready( function ( $ ) {
$( '#hosp_country' ).find( 'option[value="<?php echo $tE['hosp_country']; ?>"]' ).attr( 'selected', 'selected' );
});
但是有一种更好的方式来做您想要的事情。只需将您想要的值提供给选择输入即可。
$(document).ready(() => {
// Give the value to select input
$('#hosp_country').val('Czech Republic');
// With php, your code should look like:
// $('#hosp_country').val('<?php echo $tE['hosp_country']; ?>');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="hosp_country">
<option>Argentina</option>
<option>Armenia</option>
<option>Czech Republic</option>
<option>Bovet Island</option>
</select>