Javascript:通过选择值禁用单选按钮
我想在PHP web应用程序中使用单选按钮进行预约 我有一个单选按钮列表如下,用户可以选择任何一个单选按钮,它的值存储在数据库中的约会日期和时间的一半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
<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
?>