2017-06-16 36 views
1

我试图加载jQuery函数来我的wordpressjQuery和WordPress的简化版,工作

这里是我做过什么

在function.php

添加下面的代码

function my_city_script() {   
    wp_enqueue_script('city-script', '/cities.js', array ('jquery'), 1.1, true); 
} 
add_action('wp_enqueue_scripts', 'my_city_script'); 

我如下所示的城市.JS文件如下

(function($) { 
$("#sel_State").change(function() { 
    $("#sel_City").load("load_cities.php?choice=" + $("#sel_State").val()); 
}) 

})(jQuery); 

并转到我的wordpress内的一个页面,编码如下

<select id="sel_State" name="sel_State" aria-labelledby="State-ariaLabel" class="required" title="State. *"> 
     <option value="Alabama">Alabama</option> 
     <option value="Alaska">Alaska</option> 
     <option value="Arizona">Arizona</option> 
     ... etc 
</select> 
<select id="sel_City" name="sel_City" class="required" title="City. *"> 
</select> 

php文件旁加载城市如下

include '../DBConfig.php'; 
$choice = $_GET['choice']; 
$sql = "SELECT distinct city FROM zy_virtualuser WHERE state ='$choice' order by city"; 

$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    while($row = $result->fetch_assoc()) { 
     echo "<option>" . $row['city'] . "</option>"; 
    } 
} 

$conn->close(); 

一切完美之外WordPress的,但在WordPress的2个问题上面临加载到城市的变化事件 1-什么。 2-改变任何状态时,加载速度非常慢。

回答

1

检查您是否包含jQuery两次。

此外,您可以从wp_enqueue_script删除true并检查jQuery冲突。还要更改版本号。

function my_city_script() {   
    wp_enqueue_script('city-script', '/cities.js', array ('jquery'), 1.1.1); 
} 
add_action('wp_enqueue_scripts', 'my_city_script'); 
+0

对于缓慢的问题,是我错了通过嵌入代码的两倍,而且还掏为什么代码不能正常工作 –

+0

你能在cities.JS在顶部添加和尝试jQuery.noConflict()和尝试? –

+0

我像上面提到的那样将声明添加到顶端,但仍不起作用 –