我有:
<input type="radio" id="flag" name="flag" value="0" <?php if($row['flag_active'] === 0){ echo 'checked="checked"';} ?>checked="checked" /><label for="flag">Inactive</label>
<input type="radio" id="flag1" name="flag" value="1" <?php if($row['flag_active'] === 1){ echo 'checked="checked"';} ?>checked="checked" /><label for="flag1">Active</label>
但第二个单选按钮是始终被选中的按钮。我已经回显了$row['flag_active']
,它等于0。
另外,我试过了:
if($row['flag_active'] === 0)
if($row['flag_active'] == 0)
if($row['flag_active'] = 0)
if($row['flag_active'] !== 1)
if($row['flag_active'] != 1)
提前感谢帮助。
答案 0 :(得分:1)
嗯,无论如何,你checked="checked"
以外if
。删除那些:
<input type="radio" id="flag" name="flag" value="0" <?php if($row['flag_active'] === 0){ echo 'checked="checked"';} ?> /><label for="flag">Inactive</label>
<input type="radio" id="flag1" name="flag" value="1" <?php if($row['flag_active'] === 1){ echo 'checked="checked"';} ?> /><label for="flag1">Active</label>
答案 1 :(得分:1)
在php代码后面有一个checked =“checked”。在您的代码中,每个输入都将checked-attribute设置为checked。
答案 2 :(得分:0)
您的代码存在两个基本问题:
1)。您已将checked='checked'
设置在PHP子句之外,因此将始终检查最后一项。
2)。它的可读性和可靠性都很差。可维护性。您可以使用三元组以更易读的形式编写它:
<input type="radio" id="inactive_flag" name="inactive_flag" value="0" <?= ($row['flag_active'] == 0) ? "checked='checked'" : null; ?> />
<label for="inactive_flag">Inactive</label>
<input type="radio" id="active_flag" name="active_flag" value="1" <?= ($row['flag_active'] == 1) ? "checked='checked'" : null; ?> />
<label for="active_flag">Active</label>