首先来说说今天遇到的问题吧
项目里的一个值班日志,在今天开完会之后改了改,发现了问题。
这个逻辑是这样的:值班排班的时候可以选择多个人员值班,但是每个用户登录的时候只可以写自己的值班日志,也就只能看到自己的信息。
所以在选择值班数据的时候,下拉框里只会显示自己的数据。
于是添加的时候下拉框是有一条数据的,但是添加完日志后,因为权限问题,只能当前用户在当前日期添加一条日志,以至于编辑的时候下拉框没有数据,就导致回填不了当前值班日期的数据。
可是select下拉框没有数据却要回填一个数据,试了好多方法都不可行。
失败案例如下:
var currentday = getCurrentDate()
$("#dutyid").text(currentday);
// $("#dutyid").html('<option>' + currentday + '</option>').trigger("change");
//获得系统当前日期(七天前日期)
function getCurrentDate(condition){
var d= new Date();
var year=d.getFullYear();
var mon=d.getMonth()+1;
var day=d.getDate();
s=year+"-"+(mon<10?"0"+mon:mon)+"-"+(day<10?"0"+day:day);
return s;
}
心里想着,要是有一个即是输入框又是下拉框的东西就好了,好吧,那不就是判断嘛,直接在html里判断~~
成功示例代码如下:
<div class="form-group" >
<label for="dutyid" class="col-xs-4 control-label">
值班日期:
</label>
<div class="col-xs-8">
<empty name="ITEM:id">
<select class="form-control" name="dutyid" id="dutyid" required></select>
<else/>
<!-- 用于存储 -->
<input name="dutyid" value='{$ITEM->dutyid}' type="hidden">
<!-- 用于回填 -->
<input class="form-control" id="dutyid" value='{$ITEM->dutyid}' required readonly>
</empty>
</div>
</div>
然后form表单提交的时候需要的value值和回填显示的value值不一样
就写了两个input输入框,一个用于显示,一个用于提交数据(隐藏)
下面贴上PHP 的 Empty标签,啦啦啦~~
empty标签用于判断某个变量是否为空,用法:
<empty name="name">
name为空值
</empty>
如果判断没有赋值,可以使用:
<notempty name="name">
name不为空
</notempty>
可以把上面两个标签合并成为:
<empty name="name">
name为空
<else />
name不为空
</empty>
name属性可以直接使用系统变量,例如:
<empty name="Think.get.name">
$_GET['name']为空值
</empty>
- 更多 PHP 相关知识参考 这儿.
- 作为一个菜鸡小前端,刚刚接触PHP,所以很多都不太懂啦~~