0

私はフォームを持っています:

<form name="registration_form" action="<?php echo base_url();?>user/register" method="post" onsubmit="return verify()">
   <table width="100%" border="0" cellspacing="1" cellpadding="2">
   <tr>
       <td class="login_user_td">Click If Want To Edit :</td>
       <td><input type="checkbox" name="edit" id="edit" onclick="enable_edit()"/>
       </td>
     </tr>
     <tr>
       <td class="login_user_td"> First Name :</td>
       <td><input type="text" name="f_name" readonly="true" id="f_name" value="<?php echo $my_info[0]['first_name'];?>">
       </td>
     </tr>
     <tr>
       <td colspan="2" align="center" class="login_user_button"><input type="image" style="display: none;"src="<?php echo base_url();?>assets/front_assets/image/edit.gif" /></td>
     </tr>

   </table>
   </form>

チェックボックスの編集には、関数を呼び出すonclickイベントがあります

enable_edit()
{
        if($('#edit').prop("checked", true))
             {
                 alert('true');
             }
        else
                 alert('false');
    }

問題は、チェックボックスをクリックするたびに、常に true と表示されることです。

最初にクリックすると、プロパティがチェックされ、次にもう一度クリックすると、チェックがオフになり、false がアラートされるはずです。

しかし、アラートが発生するたびに、チェックボックスがオフになりません。

4

3 に答える 3

2

照会するのではなく、常にチェック済みの状態を設定しています。

後者は常に状態プロパティを に設定するため、条件チェックprop("checked")の代わりに使用します。prop("checked", true)checkedtrue

プロパティ値の取得と設定の詳細については、.prop() のドキュメントを参照してください

コードを次のように変更します。

function enable_edit() {
  if ($('#edit').prop("checked")) {
    alert('true');
  } else alert('false');
}

デモ- 動作中のチェックボックス


于 2013-01-12T09:12:14.053 に答える
2

そのifステートメントでchecked属性の値をtrueに設定しています。

必要なのはただ$('#edit').prop("checked");

于 2013-01-12T09:12:24.367 に答える
1
if($('#edit').prop("checked") {

}

おそらくより良いテストです。

于 2013-01-12T09:10:45.290 に答える