-4

私は持っている:

<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>

ただし、2 番目のラジオ ボタンは常に選択されています。をエコーアウトしたところ$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)

事前に助けに感謝します。

4

3 に答える 3

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>
于 2013-08-06T16:38:24.470 に答える
1

PHPコードの後ろにchecked="checked"があります。コードでは、すべての入力にchecked属性がcheckedとして設定されます。

于 2013-08-06T16:39:10.430 に答える
0

コードには 2 つの基本的な問題があります。

1)。PHP 句の外に設定checked='checked'したため、最後の項目が常にチェックされます。

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>
于 2013-08-06T16:41:27.097 に答える