我在自定义Wordpress插件中调用外部js文件中的onchange()函数时遇到问题。 加入脚本
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 :(得分:1)
选择器'#city-id select'
表示:
找到一个标识为
city-id
的元素。然后在它的后代中找到<select>
元素。
但您的<select>
已经有了city-id
。因此,在<select>
中找到<select>
是没用的。只需将您的选择器缩小为:
$('#city-id').on('change', function(){
alert("Function Called");
});
答案 1 :(得分:1)
试试这样。
jQuery(document).ready(function($){
$(document).on('change','#city_id', function(){
alert("Function Called");
});
});
答案 2 :(得分:1)
根据您提供的HTML代码,选择的ID为 city_id
而不是city-id
。
所以jQuery必须是
jQuery(document).ready(function($){
$('#city_id').on('change', function(){
alert("Function Called");
});
});
答案 3 :(得分:0)
$(document).ready(function(){
$('#city_id').change(function(){
alert("Function Called");
});
});
尝试一下,希望对您有帮助