0

Inputフィールドの現在の値をクリアしようとしてtotalAいますが、ボックスqtyAの選択した値が変更されたときに変更されました。selectacct

私はこれまでこのコードを持っていますが、値をクリアする場所がわかりません。

<script language="javascript">
$(document).ready(function() {
    $("#acct").on('change', function() {
        var selVal = $(this).val();
        if (selVal == 'Full-Time') { // Full Time
            $('.parttime').hide();
            $('.fulltime').show();
            $('.agent').show();
            $('.error').hide();
        }
        else if (selVal == 'Part-Time') { // Part Time
            $('.parttime').show();
            $('.fulltime').hide();
            $('.agent').show();
            $('.error').hide();
        }
        else {
            $('.parttime').hide();
            $('.fulltime').hide();
            $('.agent').hide();
            $('.error').show();
        }
    });

    $('#qtyA').on('change', function() {
        var selVal = $("#acct").val();
        if (!isNaN($(this).val())) {
            var total = 0;
            if (selVal == 'Full-Time') {
                total = parseInt($(this).val()) * 1280;
            }
            else if (selVal == 'Part-Time') {
                total = parseInt($(this).val()) * 720;
            }
            $('#totalA').val(total.toFixed(2));
        }
        else {
            $(this).val('0');
             $('#totalA').val('0.00');
        }
    });
});
</script>

selectボックスコード:

<p>
   <label for="acct" style="margin-right:45px;"><strong />Account Type<strong><font color="red" size="3"> * </font></strong></label>
   <select name="acct" style="background-color:white;"  id="acct" value="" class="validate[custom[cname]] text-input">
      <option value="Full-Time">Full-Time</option>
      <option value="Part-Time">Part-Time</option>
      <option selected="selected" value=""></option>
   </select>
</p>

Inputフィールド:

<p>
<table class="agent">
    <tr>
        <td>
            <lable style="margin-right:89px;"># of Agent(s)<font color="red" size="3"> * </font></lable>
        </td>
        <td>
            <input style="width:25px; margin-left:5px;" type="text" name="qtyA" id="qtyA" />
        </td>
        <td>
            X  &nbsp; $<label id="acctFull Time" class="desc fulltime" style="display:none">1280</label>
            <label id="acctPart Time" class="desc parttime" style="display:none">720</label> = &nbsp;
        </td>
        <td>
            $<input style="width:65px; margin-left:5px;" type="text" readonly="readonly" name="totalA" id="totalA" onchange="calculate()" />
        </td>
    </tr>
</table>
</p>
<p class="error" align="center">Please select an Account Type.</p>
4

2 に答える 2

1

私はあなたを正しく理解したと思います...あなたは値をリセットしたいですか?私が正しい場合は、これを試してみてください:#totalA#qtyA #acct

$(document).ready(function() {
  $("#acct").on('change', function() {
    resetValues();

    var selVal = $(this).val();
    if (selVal == 'Full-Time') { // Full Time
        $('.parttime').hide();
        $('.fulltime').show();
        $('.agent').show();
        $('.error').hide();
    }
    else if (selVal == 'Part-Time') { // Part Time
        $('.parttime').show();
        $('.fulltime').hide();
        $('.agent').show();
        $('.error').hide();
    }
    else {
        $('.parttime').hide();
        $('.fulltime').hide();
        $('.agent').hide();
        $('.error').show();
    }
  });

  $('#qtyA').on('change', function() {
    var selVal = $("#acct").val();
    if (!isNaN($(this).val())) {
        var total = 0;
        if (selVal == 'Full-Time') {
            total = parseInt($(this).val()) * 1280;
        }
        else if (selVal == 'Part-Time') {
            total = parseInt($(this).val()) * 720;
        }
        $('#totalA').val(total.toFixed(2));
    }
    else {
        resetValues();
    }
  });

  function resetValues()
  {
     $('#qtyA').val('0'); // or set empty
     $('#totalA').val('0.00');   // or set empty
  }
});

無効な値を入力すると値がリセットされたので、関数#qtyA作成し、変更の開始時に関数の呼び出しを追加しましeventHandler

于 2012-09-16T20:43:47.910 に答える
0
<script language="javascript">
$(document).ready(function() {
    $("#acct").on('change', function() {
        var selVal = $(this).val();
        if (selVal == 'Full-Time') { // Full Time
        $('#qtyA').val('0'); // or set empty
            $('#totalA').val('0.00');   // or set empty
            $('.parttime').hide();
            $('.fulltime').show();
            $('.agent').show();
            $('.error').hide();
        }
        else if (selVal == 'Part-Time') { // Part Time
        $('#qtyA').val('0'); // or set empty
            $('#totalA').val('0.00');   // or set empty
            $('.parttime').show();
            $('.fulltime').hide();
            $('.agent').show();
            $('.error').hide();
        }
        else {
        $('#qtyA').val('0'); // or set empty
            $('#totalA').val('0.00');   // or set empty
            $('.parttime').hide();
            $('.fulltime').hide();
            $('.agent').hide();
            $('.error').show();
        }
    });

onchange関数に配置する代わりに、ready関数にスクリプトを追加して、ユーザーがdivと一緒に選択すると変更されるようにしました。

于 2012-09-17T07:13:19.960 に答える