Я динамически создаю радиокнопки на основе раскрывающегося списка с именем afl_round
. Это работает без проблем:
<script type="text/javascript">
jQuery(document).ready( function($) {
var valueCheck;
jQuery('#afl_round').on( 'change', function () {
afl_round = $('#afl_round').val();
jQuery.ajax({
type: "POST",
url: "/wp-admin/admin-ajax.php",
data: {
action: 'call_slate_radio_buttons_ownership',
afl_round: afl_round,
},
success:function(output){
jQuery('#radio_buttons').html( output );
}
});
}).change();
});
</script>
Затем я хочу изменить #ownership_table
в зависимости от выбора из переключателей. Тем не менее, я обнаружил, что этот скрипт, кажется, не работает вообще.
Когда я генерирую переключатели напрямую через php
вместо javascript, таблица прекрасно работает с приведенным ниже кодом, поэтому я чувствую, что это как-то связано с каскадным характером javascript?
Сценарии упорядочены последовательно, как они написаны здесь на веб-странице.
<script type="text/javascript">
jQuery(document).ready( function($) {
jQuery('input:radio[name=afl_slate]').on( 'change', function () {
afl_slate = $('input:radio[name=afl_slate]:checked').val();
jQuery.ajax({
type: "POST",
url: "/wp-admin/admin-ajax.php",
data: {
action: 'call_slate_ownership_table',
afl_slate: afl_slate,
},
success:function(output){
jQuery('#ownership_table').html( output );
}
});
}).click();
});
</script>
Я был бы признателен за любые отзывы людей, так как я уверен, что это что-то достаточно простое, что я упустил из виду.
Заранее спасибо.
Как и просили в комментариях, я скопировал упрощенную версию своего кода php-файла, чтобы помочь. Как упомянуто выше, первый код успешно генерирует переключатели. Второй код ничего не генерирует ..... если я жестко не кодирую переключатели в html. Так что я не верю, что с этими php-файлами что-то не так. Я думаю, что связь между javascript не существует.
function get_slate_radio_buttons_ownership(){
global $wpdb;
$round = $_POST['afl_round'];
$myQuery = $wpdb->get_results('SELECT ds_slate_name, ds_slate_id FROM afl_master WHERE round = '.$round.' GROUP BY ds_slate_id');
if($myQuery){
$check = 0;
foreach ( $myQuery as $result )
{
if($check == 0){$checked=' checked="checked"';} else{$checked='';}
echo'<input type="radio" name="afl_slate" value="'.$result->ds_slate_id.'"'.$checked.'/> '.$result->ds_slate_name.'<br>';
$check = $check + 1;
}
}
echo'<br>';
wp_die();
}
add_action('wp_ajax_nopriv_call_slate_radio_buttons_ownership', 'get_slate_radio_buttons_ownership');
add_action('wp_ajax_call_slate_radio_buttons_ownership', 'get_slate_radio_buttons_ownership');
function get_slate_ownership_table(){
global $wpdb;
$slate = $_POST['afl_slate'];
$myQuery = $wpdb->get_results('SELECT * FROM afl_master WHERE ds_slate_id = "'.$slate.'" ORDER by ds_selected DESC');
echo '<div style="overflow-x:auto;">';
echo '<table>';
echo "<tr><th>Player Name</th><th>Value</th></tr>";
if($myQuery){
foreach ( $myQuery as $result )
{
$ds_value = number_format(ROUND(1000*$result->dreamTeamPoints/$result->ds_salary_hist,1),1);
echo '<tr><td>'.$result->player_name.'</td><td>'.$ds_value.'x</td></tr>';
}
}
echo '</table>';
echo '</div>';
wp_die();
}
add_action('wp_ajax_nopriv_call_slate_ownership_table', 'get_slate_ownership_table');
add_action('wp_ajax_call_slate_ownership_table', 'get_slate_ownership_table');