Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript:从下拉菜单创建动态复选框_Javascript_Php_Forms_Dynamic_Drop Down Menu - Fatal编程技术网

javascript:从下拉菜单创建动态复选框

javascript:从下拉菜单创建动态复选框,javascript,php,forms,dynamic,drop-down-menu,Javascript,Php,Forms,Dynamic,Drop Down Menu,我有一个下拉菜单,可以从带有foreach循环的数组中动态获取值。我知道javascript getElementById需要一个唯一的键。问题是我的唯一密钥是service_select和$value2的组合。这样每个服务都可以不止一个 我从下拉元素中得到的唯一唯一键是变量$value 如果有人能帮助我,我将非常高兴。恐怕解决方案会更复杂一些。。。您需要为用户选择的每个值向表单中添加输入 大概是这样的: <?PHP . . . echo'<select id="service

我有一个下拉菜单,可以从带有foreach循环的数组中动态获取值。我知道javascript getElementById需要一个唯一的键。问题是我的唯一密钥是service_select和$value2的组合。这样每个服务都可以不止一个

我从下拉元素中得到的唯一唯一键是变量$value


如果有人能帮助我,我将非常高兴。

恐怕解决方案会更复杂一些。。。您需要为用户选择的每个值向表单中添加输入

大概是这样的:

<?PHP
.
.
.   
echo'<select id="service" name="service_select" onchange="add_service(this.id,$_POST['service_select'],$value2)">';
  foreach($array_command_name_new as $key=>$value)
  {
  echo'<option value="'.$value.'">'.$value.'</option>';
  }
echo'</select>';

$key2 = array_search($value,$command_in_hostfile[0]);
$value2 = $command_in_hostfile[1][$key2];

$id2 = compact("$_POST['service_select']", "value2");

<script type="text/javascript">         
function add_service($id2, $_POST['service_select'], $value2)
{
foreach($array_command_name_new as $key=>$value)
  {         
  var elementid = docuemnt.getElementById($id2);
  var checkbox = document.createElement('id');
  checkbox.type = "checked";
  checkbox.name = "$_POST['service_select']";
  checkbox.value = "$_POST['service_select']";
  checkbox.id = "$id";
  var label = document.createElement('$_POST['service_select']')
  label.htmlFor = "id";
  label.appendChild(document.createTextNode('$_POST['service_select']');
  container.appendChild(checkbox);
  container.appendChild(label);
  }

echo'<p>Parameter:  <input id="parameter" name=\"$value2\" value=\"$value2\' onclick="addService('value_parameter')" /> </p>';
var s1 = document.getElementById($id2);
}
</script>
.
.
.
?>
[Option a]     Parameter: [__________]    [X]
[Option b]     Parameter: [__________]    [X]

[Please select... ][v]
每次用户选择新选项时,必须添加新行以允许输入参数

然后,在每行中都需要一个[X]按钮,以便用户可以删除不需要的条目


这是Javascript密集型:

从链接线程的代码中,您到底不了解什么?您可以使用Firefox的DOM检查器来了解链接线程所讨论的内容。为此,创建一个非常简单的html页面。DOM检查器可以显示所创建站点的元素hirachy。我的主要想法是,用户在下拉列表中选择选项,并将参数添加为文本。通过Javascript,我只想用菜单中的值和参数的文本字段写复选框。
[Option a]     Parameter: [__________]    [X]
[Option b]     Parameter: [__________]    [X]

[Please select... ][v]