2016-12-18 98 views
0

我在自定義Wordpress插件中的外部js文件中調用onchange()函數時遇到問題。 腳本入隊onchange函數沒有在自定義wordpress插件中被觸發

function ajaxschool_enqueuescripts() 
{ 
    wp_enqueue_script('ajaxschool', ASSFURL. '/js/ajaxschool.js', array('jquery')); 
    wp_localize_script('ajaxschool', 'ajaxschoolajax', array('ajaxurl' => admin_url('admin-ajax.php'))); 

} 

add_action('wp_enqueue_scripts', ajaxschool_enqueuescripts); 

這是我HTML代碼

echo '<div id="HCS-qsCityWrap" class="HCS-qsFieldWrap">'; 
    global $wpdb; 
    $city_results = $wpdb->get_results ("SELECT * from wp_gj73yj2g8h_hillsborough_city_list;"); 
    echo '<select id="city_id" name="city_name" class="HCS-qsInput HCS-qsSelectInput">'; 
    echo '<option value="">Choose a City</option>'; 
    foreach ($city_results as $result) { 
    echo '<option value="'.$result->city_id.'">'.$result->city_name.'</option>'; 
    } 
    echo '</select>'; 
    echo '</div>'; 

的jQuery ajaxschool.js代碼

jQuery(document).ready(function($){ 
$('#city-id select').on('change', function(){ 
    alert("Function Called"); 
}); 
}); 
+0

'$( '#城市-ID選擇')'是錯誤的。只是'$('#city-id')' –

回答

1

選擇'#city-id select'表示:

找到某個元素的ID爲city-id。然後在它的後代中找到一個<select>元素。

但是你的<select>已經有ID city-id。因此在<select>內找到<select>是無用的。只需將您的選擇器降至:

$('#city-id').on('change', function(){ 
    alert("Function Called"); 
}); 
+0

仍然無法正常工作..我使用相同的文件來執行另一個功能...即使這樣,我面臨類似的問題,像我無法觸發按鈕onclick jquery功能,只是爲了替代我改變了一個鏈接的按鈕,並在HTML給了一個onclick =:somefunction() – Himani

1

請嘗試這樣。

jQuery(document).ready(function($){ 

    $(document).on('change','#city_id', function(){ 
     alert("Function Called"); 
    }); 

}); 
+0

仍然無法正常工作..我使用相同的文件來執行功能...即使這樣,我面臨類似的問題,我不能觸發按鈕onclick jquery函數,只是爲了替代我改變了按鈕,並在HTML給了一個onclick =:somefunction() – Himani

+0

HCS-qsCityWrap是循環? – vel

+0

請確保你包含了jquery庫。你有沒有在控制檯上看到任何錯誤? – vel

1

從你給出的HTML代碼,選擇的ID city_id沒有city-id

所以jQuery的必須是

jQuery(document).ready(function($){ 
    $('#city_id').on('change', function(){ 
     alert("Function Called"); 
    }); 
});