我有一些JavaScript和PHP代码的问题。我想尝试一些没有用的ajax调用。
我想要发生什么: 当我更改所选的选项时,它需要使用选项中的值更新函数,因此php函数获取" id"来自所选的选项。这需要在页面上没有任何刷新的情况下发生。
所以我需要从所选项目中获取值到php函数。
代码:
<script>
$(document).ready( function ()
{
$('#select').change(function()
{
var option = $(this).find('option:selected').val();
$('#showoption').val(option); // for testing
$.ajax ({
url: "scripts/script.php",
data: { id : option },
success: {}
});
});
});
</script>
<?php
$meals = $food->mealsByCategory($id);
foreach($meals as $meal){
?>
<div class="entry style-columns">
<div class="entry-title">
<a href="#"><?php echo $meal->DanName; ?></a>
</div>
</div>
<?php
}
?>
.change()现在可以正常工作,但它仍然没有传递给需要$ id的php函数。在scripts / script.php文件中,我有$id = $_GET['id'];
答案 0 :(得分:1)
duuude,如果你使用jquery就像这样容易...
如果您的HTML看起来像这样:
<div class="form-label">Category</div>
<select name="category">
<option value="abcde">abcde-text</option>
<option value="fghij">fghij-text</option>
</select>
<div class="loaded"></div>
你的ajax必须看起来像这样简单......
$(document).ready(function() { //DOM LOADED
$( "select" ).change(function () { //GET CHANGE CALL
var str = ""; // CREATE AN EMPTY STRING
str += $(this).val(); // GET ACTUALL VALUE
$( ".loaded" ).text( str ); // PRINT STRING WHEREVER YOU WANT
})
.change();
});
或加载文件而不是打印文本...
$.ajax({ url: '/ajax.php', // WHICH FILE YOU WANN CALL IN MY EX THIS WOULD BE str+'.php',
data: formData, //
type: 'post', // GET or POST
complete: function(output) {
$('/*FORM RESULT*/').html(output.responseText);
}
});
希望这可以帮助你...
答案 1 :(得分:0)
我这样做:
$.get('url-with-get').done(function(data) { $("selector").after(data); });
另外,你应该把它放在像这样的东西
$('#your-list-id').on('change', function() {});
你可以随便改变,数据是你从ajax调用得到的,所以在你的php文件中它应该有类似的东西
if(isset($_GET['var-you-are-passing-in-url-with-get'])){
echo 'bla bla bla';
}
希望这有助于:)