easyui-textbox:
<input id="actSpecification" name="actSpecification" data-options="multiline:true"
class="easyui-validatebox easyui-textbox" style="width: 710px;height: 65px;">
easyui-datetimebox:
<input id="actStartTime" name="actStartTime" style="width:48%;" class="easyui-datetimebox"
data-options="required:true" readonly/>
博主最近在用easyUI写项目,经常用到easyui-textbox以及easyui-datetimebox,通过查找相关信息,我们知道这两种格式的框的取值和赋值分别是这样的:
easyui-textbox:
$("#actSpecification").textbox('setValue',“这里是内容”); //赋值
$("#actSpecification").textbox('getValue') //取值
easyui-datetimebox:
$("#actStartTime").datetimebox(‘setValue’,2019-1-10 10:00:00); //赋值
$("#actStartTime").datetimebox('getValue'); //取值
由于业务需要,博主需要得用名字选择器来对其进行操作
于是博主尝试用$("input[name=actSpecification]").textbox('setValue',"这里是内容");进行赋值
但是,运行之后,网页直接报错了,赋值不了,于是博主在浏览器按F12来查看这个插件的属性详情。
详情如下:
我们可以看到,原来在咱们添加了这些easyui-textbox的类名后,咱们的标签会被easyUI给渲染成上面的这个形式,
可以看到,id属性和name属性都不在同一个标签里,难怪当我们用name属性选择器时,就会报错,博主猜应该是只有上面id属性所在的标签才可以用.textbox('setValue',"")这个方法。
这就好办了,从上面可以看出,咱们可以从name属性所在的标签找到id属性所在的标签,再给其赋值。由图可知,要找到id属性所在标签,我们可以在找到name属性标签后,再在其后面添加.parent().prev()。
按照这个想法,博主开始执行,新的代码如下:
$("input[name=actSpecification]").parent().prev().textbox('setValue',"这里是内容");
运行,内容被正常的放进去了,成功!
同理,easyui-datetimebox也是同理(博主看了其属性后,发现也和textbox是一样的渲染)。
即$("input[name=actStartTime]").parent().prev().datetimebox(‘setValue’,2019-1-10 10:00:00);