简体   繁体   English

如何在其他JavaScript函数中的jQuery select事件中使用变量?

[英]how to use variables in jQuery select event in other javascript functions?

I am really new to jquery and javascript... I want to use the four variables in myairFunction to calculate something and those four variables store values retrieved from database. 我真的是jquery和javascript新手...我想使用myairFunction中的四个变量来计算内容,并且这四个变量存储从数据库中检索到的值。
How can make use of these values in my function ? 如何在我的函数中利用这些值? The function does not work. 该功能不起作用。 even if i test as follows, it printed nothing. 即使我进行如下测试,也不会打印任何内容。 where's wrong ? 哪里错了?

$("#airradio1").click(function(){

$("#aircalc").click(function(){
    $("#airanswer").html(lat1);

    });

});

html : html:

 <div id="calculator">
  <h3>Air Travel</h3>
  <div id="air">

 <input type="radio" name="frm" id="airradio1" checked="check" onclick="setairform1()">Enter Individual flights(more accurate) <br>
 <input type="radio" name="frm" id="airradio2" onclick="setairform2()">Enter numbers of flight(faster)<br>
    <form id="airform1">
    <div>
        From
        <div class="textinput">
            <input type="text" id="dept" name="departure" placeholder="City name or aiport code" >
        </div>
    </div>

    <div>
        To
        <div>
            <input type="text" id="dest" placeholder="City name or airport code" >
        </div>
    </div>

    <div>
        Via
        <div>
            <input type="text" id="via" placeholder="City name or airport code" >
        </div>
    </div>

    <div>
        <div>
            <input type="radio" name="trip" value="roundtrip">Round-trip <br>
            <input type="radio" name="trip" value="oneway">One-way
        </div>
    </div>

    <div>
        Number of flights/passengers
        <input type="text">
    </div>

    <div>
        Class
        <select style="width: 82px">
            <option selected="selected">Economy</option>
            <option>Business</option>
            <option>First</option>
        </select>
    </div>

           <div><button type="button" id="aircalc" >calculate</button></div>


    <div id="result">
        <div id="totalresult"> Total Emission: 
            <p id="airanswer">0 </p> lbs CO<sub>2</sub> </div>
    </div>

here is the php : 这是php:

$strSQL = "SELECT display, lat, longi FROM airport WHERE display LIKE '$term%'";
$rs = mysql_query($strSQL);
$json=array();

while($row = mysql_fetch_array($rs)){
$json[]=array('value'=>$row['display'],
          'label'=>$row['display'],
          'lat'=>$row['lat'],
          'longi'=>$row['longi']
          );
}

echo json_encode($json);

javascript : javascript:

$(document).ready(function(){

    var lat1;
    var long1;
    var lat2;
    var long2;

    var a;
    $('#dept').autocomplete({
    source:'source.php',
     minLength:1,
     select:function(evt,ui){
        lat1=ui.item.lat;
            long1=ui.item.longi;

            }
     }); 


     $('#dest').autocomplete({
     source:'source.php',
     minLength:1,
     select:function(evt,ui){
        lat2=ui.item.lat;
            long2=ui.item.longi;

     }
     }); 



     $("#airradio1").click(function(){
        $("#aircalc").click(function(){
            myairFunction1(lat1,lat2,long1,long2);

        });

    });


     $('#via').autocomplete({
        source:'source.php',
        minLength:1

     }); 
});

 function myairFunction1(lat1,lat2,long1,long2){

    co2 = lat1+lat2+long1+long2;
    document.getElementById("airanswer").innerHTML = co2;

}

without seeing the information requested in the comments its nearly impossible to say what's going wrong. 没有看到评论中要求的信息,几乎不可能说出问题所在。 but the nested click function looks suspect. 但嵌套的点击功能看起来可疑。 if you can target the element directly then why the nested listener? 如果您可以直接定位元素,那么为什么要嵌套监听器?

$("#airradio1").click(function(){
    $("#aircalc").click(function(){
        myairFunction1(lat1,lat2,long1,long2);

    });

});

instead just add the event listener directly to the #aircalc element: 而是直接将事件侦听器添加到#aircalc元素中:

   $("#aircalc").click(function(){
        myairFunction1(lat1,lat2,long1,long2);

    });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM