2017-11-17 17 views
1

私はチェックボックスを持つフォームを持っています。このチェックボックスをチェックすると、別のフォームが無効になり、最初のフォームに値が設定されます。 代替連絡先へのメイン連絡先です。しかし、チェックを外すと「無効」 が削除され、代替フォームの値がデフォルトに設定されます。問題は、私は私のコード(私は下に提供するつもりです)と私が保存を押すと、チェックボックスがオフになるたびにあります。これは、空の文字列であるdefaultに挿入された値を設定します。jQueryコードでは、保存するたびにすべてをデフォルト値に設定します

$(".AlternativeContactFields").removeAttr("disabled"); 
$(".AlternativeContactFields").each(function (index, element) { 
    if ($(element).is("input")) { 
    $(element).val(""); 
    } else if ($(element).is("select")) { 
    $(element).val(1); 
    } 
}); 

どうすればこの問題を解決できますか?

+0

欲しいものだと思うC#のタグを削除してください。 – john

+0

私が質問を理解するならば、問題はチェックボックスが入力要素でもあるということです。したがって、テキスト入力要素の値を消去すると、ラジオ/チェックボックスのキャプションも消去されます –

+0

フォーム上で 'reset()'を呼び出して、元の値に戻すことができます。 – alex

答えて

1

私は、これはあなたが

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<script> 
$(document).ready(function() { 
    $('#save').click(function() { 
    $(".AlternativeContactFields").removeAttr("disabled"); 
    $(".AlternativeContactFields").each(function (index, element) { 
     if ($(element).is("input")) { 
     // read the type attribute. 
     var type = $(element).attr('type'); 
     switch(type) { 
      case 'checkbox': 
      case 'radio': 
      // uncheck box 
      $(element).prop('checked', false); 
      break; 
      case 'text': 
      default: 
      $(element).val(""); 
      break; 
     } 
     } else if ($(element).is("select")) { 
     $(element).val(1); 
     } 
    }); 
    }); 
}); 
</script> 
<input type="button" value="Save" id="save"/><br/> 
<input disabled="disabled" type="checkbox" checked="checked" value="My checkbox 1" class="AlternativeContactFields"/>My checkbox 1<br/> 
<input disabled="disabled" type="checkbox" value="My checkbox 2" class="AlternativeContactFields"/>My checkbox 2<br/> 
<input disabled="disabled" type="text" value="My textbox value 1" class="AlternativeContactFields"/><br/> 
<input disabled="disabled" type="text" value="My textbox value 2" class="AlternativeContactFields"/><br/> 
<select disabled="disabled" class="AlternativeContactFields"> 
    <option value="0">my Option 0</option> 
    <option value="1">my Option 1</option> 
    <option value="2">my Option 2</option> 
</select> 
関連する問題