【问题标题】:tips on using checkbox inputs in editable javascript form在可编辑的 javascript 表单中使用复选框输入的提示
【发布时间】:2023-03-29 20:15:01
【问题描述】:

情况:

我正在使用 javascript 来整理用户个人资料表单,并且在复选框输入方面需要一些帮助。目标是拥有一个将所有输入信息返回到 mysql 数据库(例如名称、工作等)的表单,然后一旦保存,用户也可以更新表单。

我已经能够让数据库查询与文本输入一起使用,以便用户可以看到他们之前保存的数据。但是,我确实有一个地方需要为每个用户输入一个复选框以获取简单的二进制答案。我想我会将信息存储为checked=1 unchecked=0。

问题:

虽然我可以将选中的信息保存为 value=1,但我正在寻找一种方法,让复选框在此人保存答案并返回编辑后显示检查。另外,我正在寻找一种方法来允许该用户取消选中该框并用 value=0 覆盖 value=1。

我想我可以使用某种草率的 if 语句失败来完成此操作,但我只是想知道在这种情况下通常使用哪些最佳实践。 (如果你看不出我正在通过网络开发慢慢学习我的方式)

我的复选框显示如下:

<tr><td id='ownershipquestion' colspan='2'>Does this person have an ownership stake?</td><td id='ownershipbox'><input type='checkbox' id='part_owner' name='owner' value='1'/>Yes</td></tr>\

以前保存的值是这样获得的:

owner: $("#dialog input[name=owner]").attr("value"),

更新后的值是这样返回的:

item.find("input[name=owner]").attr("value",p.owner);

任何建议将不胜感激;提前致谢!

【问题讨论】:

    标签: javascript jquery mysql input checkbox


    【解决方案1】:

    使用 jQuery,您可以通过 prop() 方法(读取 here)读取已检查的状态(即是否已检查)。

    这会给你一个bool 值。作为checkbox 类型的输入也有一个(文本)值,你可能会做这样的事情:

    owner: $('input[name=foobar]').prop("checked")
        ? $('input[name=foobar]').val()
        : '',
    

    稍后,您可以设置它(从整数),如下所示:

    item.find("input[name=owner]").prop("checked", p.owner ? true: false);

    请注意,您上面的 HTML 代码显示了一个 text 输入字段..

    【讨论】:

    • 感谢您的回复。我对javascript很陌生,所以我在理解我需要如何应用答案时遇到了一些麻烦。使用第一行代码,这对于从数据库中检索它是必要的,对吗?几个问题:问号、多行和空引号的意义是什么?在第二个代码条目中,我假设这将是我们将其写入数组的方式。问题:问号的意义是什么,整数值会去哪里(或者有更好的保存方法吗?)再次感谢您的回复!
    • 另请回复:HTML 代码显示了一个文本输入字段:感谢您发现这一点,我复制了错误的行。现在已修复。
    • 为了更好地解释如何应用答案,您提供的完整代码示例会有所帮助。问号是ternary operator 的一部分。简而言之:a = b ? 1 : 0;if (b) { a = 1; } else { a = 0; } 的缩写。
    • 感谢您的回复!这是使用它的上下文:dl.dropboxusercontent.com/u/11993667/People_java.txt
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2017-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-18
    相关资源
    最近更新 更多