单击<select>

时间:2015-08-20 00:39:16

标签: javascript jquery ajax click

我有一些兼容性问题。我需要动态更新一些代码。 当您点击&lt; select&gt;时element,它使用AJAX运行一些调用服务器来更新所有&lt;选项&gt;元素。然而,我的问题是,在IE(测试11)中,当您将鼠标悬停在任何选项上时,它就像函数再次运行一样。这是我所拥有的片段: j $(&#39;选择[name = vessel]&#39;)。click(function(e){     var tour_ID = j $(&#39;选择[name = tour]&#39;)。val();     var trip_Date = j $(&#39; input [name = trip_Date]&#39;)。val();     var ve_ID = j $(&#39;选择[name = vessel]选项:selected&#39;)。val(); //选择Grab选项用户     fetch_Vessel(tour_ID,trip_Date,ve_ID,&#34; main_Tour&#34;); // AJAX魔术 }); &lt; select class =&#34; form-control&#34;名称=&#34;容器&#34;&GT;     &lt; option value =&#34; -1&#34;&gt; - 请选择 - &lt; / option&gt;     &LT; PHP         $ vessel_query = mysqli_query($ conn,&#39; SELECT * FROM Vessel&#39;)             或死(&#34;错误:&#34; .mysqli_error($ conn));         while($ vessel_Results = mysqli_fetch_array($ vessel_query)){             if($ vessel_Results [&#39; ve_ID&#39;] == $ ve_ID){                 echo&#39;&lt;选项选择值=&#34;&#39;。$ vessel_Results [&#39; ve_ID&#39;]。&#39;&#34;&gt;&#39;。$ vessel_Results [&#39;船只名称&#39]。&#39;&LT; /选项&GT;&#39 ;;             }             其他{                 echo&#39;&lt; option value =&#34;&#39;。$ vessel_Results [&#39; ve_ID&#39;]。&#39;&#34;&gt;&#39;。$ vessel_Results [ &#39;船只名称&#39;。]&#39;&LT; /选项&GT;&#39 ;;             }         }     ?&GT; &LT; /选择&GT; function fetch_Vessel(tour_ID,trip_Date,ve_ID,tour_Type){         if(tour_ID&gt; 0&amp;&amp; trip_Date!= null){//如果选择了游览和日期,请继续             //在数组中存储要发送到PHP文件的内容             var data = {               &#34; action&#34;:&#34; Count_Vessels&#34;,//调用什么函数               &#34; trip_Date&#34;:trip_Date,//进入功能               &#34; tour_ID&#34;:tour_ID //传入功能             };             data = j $(this).serialize()+&#34;&amp;&#34; + j $ .param(data); //连载             Ĵ$就({               键入:&#34; POST&#34;,               dataType:&#34; json&#34;,               url:&#34; ../ include / booking_Modify.php&#34;,// response.php文件的相对或绝对路径               数据:数据,               成功:函数(数据){                   if(tour_Type ==&#34; main_Tour&#34;){                       Ĵ$(&#39;选择[名称=容器]&#39)的儿童(&#39;选项&#39)。除去(); //删除所有&lt;选项&gt;分子                       Ĵ$(&#39;选择[名称=容器]&#39)。HTML(数据[&#34; vessel_Test&#34;]); //添加新&lt;选项&gt;分子                       j $(&#39;选择[name = vessel]选项&#39;)。each(function(index,element){                           / *遍历所有选项并找到值。如果它与用户选择的匹配                          *将属性设置为选中                          * /                         if(j $(this).val()== ve_ID){                             j $(this).prop(&#39; selected&#39;,true);                         }                       });                   }               },               错误:function(request){                 的console.log(request.responseText);                 console.log(&#34; SQL:&#34; + request [&#34; SQL&#34;]);             }             });         }     } 我认为拥有.click()意味着它只会触发一次,但我怀疑当我将鼠标悬停在&lt;选项&gt;上时,它会多次触发元件 我想要实现的是在单击选项选项或选项卡选项时仅使.click()触发一次。任何帮助将不胜感激

0 个答案:

没有答案