Javascript:通过选择值禁用单选按钮

Javascript:通过选择值禁用单选按钮,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我想在PHP web应用程序中使用单选按钮进行预约 我有一个单选按钮列表如下,用户可以选择任何一个单选按钮,它的值存储在数据库中的约会日期和时间的一半 <tr> <td> <label><input type="radio" name="book" value="1" required>11.00 AM</label> </td> <td> <label><input t

我想在PHP web应用程序中使用单选按钮进行预约

我有一个单选按钮列表如下,用户可以选择任何一个单选按钮,它的值存储在数据库中的约会日期和时间的一半

<tr>
 <td>
     <label><input type="radio" name="book" value="1" required>11.00 AM</label>
 </td>
 <td>
    <label><input type="radio" name="book" value="2" required>11.10 AM</label>
 </td>
 <td>
     <label><input type="radio" name="book" value="3" required>11.20 AM</label>
 </td>
 <td>
     <label><input type="radio" name="book" value="4" required>11.30 AM</label>
 </td>
 <td>
     <label><input type="radio" name="book" value="5" required>11.40 AM</label>
 </td>
 <td>
    <label><input type="radio" name="book" value="6" required>11.50 AM</label>
 </td>
 <td>
      <label><input type="radio" name="book" value="7" required>12.00 PM</label>
 </td>
</tr>
这将重新运行/响应一个数组,如下所示,其中包含存储在数据库中的单选按钮值,(我希望不需要为“”函数/操作编码)

我的问题是如何禁用数组中包含的单选按钮。 数组中的值是以前的用户选择并存储在数据库中的值,当前用户无法选择这些值,因为他们已经预订了


提前谢谢。

让我简单解释一下:

1) 从数据库中获取现有值。在你的例子1,4,6中

2) 创建一个时隙数组,如下所述

3) 在阵列上循环并打印复选框

4) 如果值存在于现有值中,则添加
已禁用
属性,否则不添加任何内容

<?php
$existingValues = array(1, 4, 6);
$timeSlots = array();
$timeSlots[1] = '11.00 AM';
$timeSlots[2] = '11.10 AM';
$timeSlots[3] = '11.20 AM';
$timeSlots[4] = '11.30 AM';
$timeSlots[5] = '11.40 AM';
$timeSlots[6] = '11.50 AM';
$timeSlots[7] = '12.00 AM';
if (! empty($timeSlots)) {
?>
<tr>
<?php
  foreach ($timeSlots as $val => $display) {
    $disabled = in_array($val, $existingValues) ? 'disabled' : '';
?>
<td><label><input type="radio" name="book" value="<?php echo $val;?>" required <?php echo $disabled;?>><?php echo $display;?></label></td>
<?php
  }
?>
</tr>
<?php
}
?>

此外,我想禁用单选按钮,这些按钮已经被选中并存储在数据库中

直接从PHP执行此操作,可能是在一个单独的文件中,然后包括?类似于这样的东西,伪代码

<?php
$age = array("1"=>"0", "2"=>"1", "3"=>"0");

for loop  with array length
 if(key value==0)
  print radio button with checkbox enabled
 else
  print radio button with checkbox disabled

?>

如果您想使用java脚本执行此操作,一种简单的方法是使用java脚本的fetching元素属性 将id=“每个标签的某些不同名称与name are!”与name=“book”一起添加到html代码中 使用:

document.getElementById(“idname”).disabled=true

这将禁用与相应id关联的单选按钮。
因此,无论哪个单选按钮已经预订,你都可以从数据库中获取它们,或者维护一个日志来禁用单选按钮列表,只需在循环中迭代它们

你需要完整的代码吗?只是一个提示,指向localhost的链接在除你之外的任何其他PC上都不起作用。为什么你需要用AJAX加载它?有什么原因不能在生成页面时加载预订条款吗?我有数百个单选按钮,无法在php中使用foreach循环打印。谢谢。但我希望在Java脚本中实现这一点,因为数组包含1、4、6是一个AJAX响应。
<?php
$existingValues = array(1, 4, 6);
$timeSlots = array();
$timeSlots[1] = '11.00 AM';
$timeSlots[2] = '11.10 AM';
$timeSlots[3] = '11.20 AM';
$timeSlots[4] = '11.30 AM';
$timeSlots[5] = '11.40 AM';
$timeSlots[6] = '11.50 AM';
$timeSlots[7] = '12.00 AM';
if (! empty($timeSlots)) {
?>
<tr>
<?php
  foreach ($timeSlots as $val => $display) {
    $disabled = in_array($val, $existingValues) ? 'disabled' : '';
?>
<td><label><input type="radio" name="book" value="<?php echo $val;?>" required <?php echo $disabled;?>><?php echo $display;?></label></td>
<?php
  }
?>
</tr>
<?php
}
?>
<?php
$age = array("1"=>"0", "2"=>"1", "3"=>"0");

for loop  with array length
 if(key value==0)
  print radio button with checkbox enabled
 else
  print radio button with checkbox disabled

?>