<select name="status" class="form-select">
<option value="" {if $Think.get.status==''}selected{/if}>全部状态</option>
<option value="1" {if $Think.get.status=='1'}selected{/if}>已付款</option>
<option value="0" {if $Think.get.status=='0'}selected{/if}>未付款</option>
</select>
由于全部状态只能是空值才能成功查询,有没有什么办法可以解决
默认也不显示,下拉框中也无法显示
select2的话去掉placeholder,要不空值的项不会显示出来,示例如下,有帮助麻烦点个采纳【本回答右上角】,谢谢~~有其他问题可以继续交流~
<script src="http://wtm.lvyou168.cn/scripts/jquery-1.10.2.js"></script>
<script src="http://wtm.lvyou168.cn/scripts/jquery.select2.js"></script>
<link href="http://wtm.lvyou168.cn/content/select2.min.css" rel="stylesheet" type="text/css" />
<select id="status1" name="status" class="form-select">
<option value="" selected>全部状态</option>
<option value="1">已付款</option>
<option value="0">未付款</option>
</select>
<select id="status2" name="status" class="form-select">
<option value="" selected>全部状态</option>
<option value="1">已付款</option>
<option value="0">未付款</option>
</select>
<script>
$('#status1').select2({ width: 120, minimumResultsForSearch: -1, placeholder: '全部状态' })
$('#status2').select2({ width: 120, minimumResultsForSearch: -1 })
</script>
检查一下$Think.get.status默认值是什么,可能是空值?所以$Think.get.status==''这个条件可能有错
像这种,我建议使用
<select name="status" class="form-select">
<option value="-1" if $Think.get.status=='-1'}selected{/if}>全部状态</option>
<option value="1" {if $Think.get.status=='1'}selected{/if}>已付款</option>
<option value="0" {if $Think.get.status=='0'}selected{/if}>未付款</option>
</select>
由于0作为某一个状态了,建议可以用负数来表示全部,使用空值的话,有时候可能由于程序里面处理不当,导致传递过来的时候是空值但经过处理以后变成了0,所以就一直没有全部状态了
$Think.get.status 这个值输入什么都不收影响,已经试过了,value=""输入值以后可以显示,但是就没全部状态这个效果了
<select name="status" class="form-select">
<option value="" {if $Think.get.status!='1' && $Think.get.status!='0'}selected{/if}>全部状态</option>
<option value="1" {if $Think.get.status=='1'}selected{/if}>已付款</option>
<option value="0" {if $Think.get.status=='0'}selected{/if}>未付款</option>
</select>