0

コンボボックスから値を選択すると、テキストボックスに値が表示されます。テキストボックスにあるこれらの値をさらに使用する必要があります.3つの結果テキストボックスでコンボボックスを1回クリックするだけで結果を表示する方法がわかりません。

$options = array(
        '0' => array(
            'title' => '-- Select',
            'value1' => '',
            'value2' => '',     
        ),
        '1' => array(
            'title' => 'A',
            'value1' => '300',
            'value2' => '600',
        ),
        '2' => array(
            'title' => 'B',
            'value1' => '1800',
            'value2' => '900',          
        ),
    );

    if (isset($_GET['option']) && isset($options[$_GET['option']])) {
        echo json_encode($options[$_GET['option']]);
        exit;
    }


?>
<select name="combo" id="combo" onchange="getText66()" onblur="getText661()">
<?php

    foreach($options as $key_value => $option) {
        printf('<option value="%s">%s</option>', $key_value, $option['title']);
    }
?>

テキストボックスから値を選択してテキストボックスに表示するコーディング

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script type="text/javascript">

    $(function(){
        $('#combo').change(function(){
            $.getJSON("?", {
                option : $(this).val()
            }, function (data) {
                $('#textboxB').val(data.value1);
                $('#textboxD').val(data.value1);
                $('#textboxE').val(data.value1);
                $('#textboxC').val(data.value2);
            });
        });
    });

</script>

テキストボックスから取得した値に対していくつかの計算を実行するコーディング

<script>
 function getText66(){
      var in32=document.getElementById('textboxB').value;
      var in332=document.getElementById('in33').value;
      var in3332=document.getElementById('in333').value;
      var in134=(parseFloat(in32)*parseFloat(in332))+parseFloat(in3332); 
      document.getElementById('in134').value=in134.toFixed(2);
   }
    function getText661(){
      var in321=document.getElementById('textboxD').value;
      var in3321=document.getElementById('in331').value;
      var in33321=document.getElementById('in3331').value;
      var in1341=(parseFloat(in321)*parseFloat(in3321))-parseFloat(in33321); 
      document.getElementById('in1341').value=in1341.toFixed(2);
   }
    function getText662(){
      var in322=document.getElementById('textboxE').value;
      var in3322=document.getElementById('in332').value;
      var in33322=document.getElementById('in3332').value;
      var in1342=(parseFloat(in322)*parseFloat(in3322))-parseFloat(in33322); 
      document.getElementById('in1342').value=in1342.toFixed(2);
   }
   </script>
   <?php echo "winter" ?>
<input type="text" name="text1" value="0.89" id="in33" />
<input type="text" name="text2" value="29"  id="in333"/>
<input type="text" name="text3"  id="in134"/>
   <?php echo "Summer" ?>
<input type="text" name="text11" value="0.92" id="in331" />
<input type="text" name="text22" value=" 24.3 "  id="in3331"/>
<input type="text" name="text33"  id="in1341"/>
   <?php echo "Autumun" ?>
<input type="text" name="text111" value="0.98" id="in332" />
<input type="text" name="text222" value="2.3 "  id="in3332"/>
<input type="text" name="text333"  id="in1342"/>
</form>

私の問題は、のテキストボックスに結果のみを表示することですid="in134"。3つのテキストボックスすべてに結果を表示し 、コンボボックスからワンクリックで表示する必要があります.どうすれば可能ですか.親切に助けてid="in1341"くださいid="in1342"

4

2 に答える 2

0

これは、コンボ ボックスで getText66() のみを呼び出すためです。

交換

<select name="combo" id="combo" onchange="getText66()" onblur="getText661()">

<select name="combo" id="combo" onchange="getText66();getText661();getText662();" onblur="getText661()">

ヒント: これは汚れています。

于 2013-06-07T18:09:33.710 に答える
0

クイックで汚いコード

変更onchange機能:

<select name="combo" id="combo" onchange="NewFunction()" onblur="getText661()">

function NewFunction() {
     getText66();
     getText661();
     getText662();
}
于 2013-06-07T18:04:32.257 に答える