php - 启用/禁用特定的动态添加的表单输入

标签 php javascript html forms onchange

我正在创建一个 HTML 表单,它从数据库(php + mysql)中获取一些选项

在 php 中,我正在创建一个 checkbox 输入,旁边有一个选择框。

我将复选框命名为 houseAppsSelected[] 并将选择命名为 customCategories[],因此我将获取数组形式的值。

我将所有 HTML 附加到一个名为 $options 的 var 中,稍后我会回显它。

while ($row=mysql_fetch_array($result)) { 
    $cat_id=$row["category_id"]; 
    $cat_name=$row["category_name"]; 
    $options.="<INPUT type=\"checkbox\" name=\"houseAppsSelected[]\" VALUE=\"$cat_id\">".$cat_name." ---> ";


    $custom_sql="SELECT custom_cat_id, cat_name FROM custom_categories WHERE house_app='$cat_id'"; 
    $custom_result=mysql_query($custom_sql);

    $options.="<SELECT name=\"customCategories[]\">";
    $options.="<OPTION value=\"0\"> Choose Category </option>";

    while ($custom_row=mysql_fetch_array($custom_result)) {
        $custom_id = $custom_row['custom_cat_id'];
        $custom_name = $custom_row['cat_name'];
        $options.="<OPTION value=\"$custom_id\">".$custom_name."</option>";
    }

    $options.="</SELECT> <br /> <br />";
}

我想让复选框控制选择框是启用还是禁用。

我找到了 this article ,这看起来很简单,但如果所有选择框都具有相同的名称,它将禁用所有选择框。

如果我用 php 动态构建它们,是否有办法让特定的复选框仅禁用/启用特定的选择框? (他们都有相同的名字)。

最佳答案

您可以使用 nextSibling 属性来查找选择。

function chkboxClick(chkbox) {
    chkbox.nextSibling.nextSibling.disabled = !chkbox.checked;
}

像这样添加点击处理程序:

<INPUT type="checkbox" onclick="chkboxClick(this)" ... /> 

此处演示:http://jsfiddle.net/gilly3/vAK7N/

关于php - 启用/禁用特定的动态添加的表单输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7517899/

相关文章:

php - 比较从表中获取的数据时出错

php - 如何从命令行获取值到 php(2 个值)

javascript - 将彩色 Logo 转换为纯白色 Logo

php - 无法在 php pdo 中按 ASC 运行命名占位符

c# - 在多个 Metro 风格应用程序中重用 javascript 代码

javascript - 获取经纬度html js

javascript - AngularJS 1.2 | ngAnimate | 动画以编程方式阻止动画

javascript - 使用新数据和不同的列配置在同一 DOM 元素上重新初始化制表符

javascript - 画外音不是以编程方式说话的重点元素

html - 样式输入范围前后