我试图在表单之外创建一个复选框,只需使用Lwt_js_events.clicks在其上绑定一个JS函数。
我尝试过使用bool_checkbox_one,但是我想不出生成~name:参数的方法。我在这里找到了一些帖子,有人解释说你实际上不能,应该使用raw_版本,但似乎已经不存在了。我确实发现提到了一个Html.D.Raw模块,但我不知道它是如何工作的,而文档在这方面都有点过时了。
我试过的另一件事是用这个:
let checkbox = input ~a:([a_input_type `Checkbox] @
(if t.status then [a_checked ()] else [])) () in
显然,这并不是很好,但是它确实可以生成一个正确的复选框,它可以很好地满足我的需要,但是当我在客户机上调用Eliom_content.Html.To_dom.of_element时,我得到了一个不能调用##checked来知道复选框是否被勾选的对象(在bool_checkbox_one上这看起来是可能的)。我还尝试使用##hasAttribute来尝试查看它是否“选中”,但很明显,当我勾选复选框时,它没有更新,也不确定原因。
无论如何,怎样才是正确的方法呢?谢谢
发布于 2017-04-20 19:06:07
想出了一种使用##checked的方法:
Js.to_bool (Js.Unsafe.get elt "checked"))
Js.Unsafe.get似乎允许获得dom元素的任意属性,不像使用正确的复选框那样好,但它有效。
https://stackoverflow.com/questions/43506270
复制相似问题