jquery设置php生成的文本选项列表

jquery set the text option list generate by php

本文关键字:文本 选项 列表 设置 php jquery      更新时间:2023-09-26

为什么jquery包含在加载页面时没有选择要选择的特定值。

<select class="form-control" style="width:120px; float:left;" name="namelist">
    <option value="">Pablo I</option>
    <option value="">Pablo II</option>
    <option value="">Pablo III</option>
    <option value="">Pablo IV</option>
</select>
<script>               
    $('select[name=namelist] option:contains("Pablo II")').attr('selected','selected');
</script> 

选择的结果是Pablo III

您需要使用.filter(),因为:contains()也会返回部分匹配

$('select[name=namelist] option').filter(function(){
  return $(this).text() == 'Pablo II'
}).attr('selected','selected');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select class="form-control" style="width:120px; float:left;" name="namelist">
    <option value="">Pablo I</option>
    <option value="">Pablo II</option>
    <option value="">Pablo III</option>
    <option value="">Pablo IV</option>
</select>

使用Prop()也很有效http://api.jquery.com/prop/

$('select[name=namelist] option').filter(function(){
  return $(this).text() == 'Pablo II'
}).prop('selected', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="form-control" style="width:120px; float:left;" name="namelist">
    <option value="">Pablo I</option>
    <option value="">Pablo II</option>
    <option value="">Pablo III</option>
    <option value="">Pablo IV</option>
</select>