我正在尝试使用ajax和mysql创建搜索并将返回的数据放入div中。我正在关注youtube的一个教程,到目前为止一直很好,但是我试图将虚拟数据传递给div,但它没有出现。
这是我的jquery
$errors = [];
foreach($validator->getMessageBag()->toArray() as $key=>$messages) {
$errors[$key] = $messages[0];
}
return response()->json($errors, 200);
这是我的HTML
$('#submit').on('click', function() {
var search = $('#search').val();
if ($.trim(search) != '') { //if search is not equal to nothing - using trim allows users to type in blank space and it won't return anything
$.post('searching.php', {search: search}, function(data) {
$('#search').text(data);
});
}
});
当用户点击搜索时,search.php文件中的内容应出现在div中。目前在search.php文件中它只有echo“content”;它应该在div中具有“内容”,但它不会出现在Web浏览器中并且没有错误。在inspect元素的网络中,名称是searching.php,状态正常。不知道我哪里出错了,任何帮助都会感激不尽。
答案 0 :(得分:4)
HTML中有多个id="search"
元素。所以这不知道你的意思是:
$('#search')
可能试图设置<input>
的“文本”,它没有“文本”(它有“值”)。纠正HTML。将<input>
或<div>
更改为具有唯一id
。 (当然,更新您的jQuery选择器以及针对这些元素的任何其他内容。)
答案 1 :(得分:2)
不要对输入和div使用相同的ID(搜索)
更改html中的ID
<div class="container">
<div class="card card-container">
<p id="profile-name" class="profile-name-card"></p>
<form class="form-signin" method="POST">
<input type="text" name="search" id="search" class="form-control" placeholder="Search">
</form>
<button class="btn btn-lg btn-primary btn-block btn-signin" value= "search" type="required" id="submit" name="submit">Search</button>
</div><!-- /card-container -->
<div class="row">
<div class="col-md-4">
<div id="searchText"></div>
<div class="caption">
<p></p>
</div>
</div>
和javascript
$('#submit').on('click', function() {
var search = $('#search').val();
if ($.trim(search) != '') { //if search is not equal to nothing - using trim allows users to type in blank space and it won't return anything
$.post('searching.php', {search: search}, function(data) {
$('#searchText').text(data);
});
}
});
答案 2 :(得分:0)
.text无法使用输入
使用val()而不是text()作为输入
:ENDLOOP
$('#search').val(data);
$("#btn1").click(function(){
$("#test1").text("Hello world!");
});
$("#btn2").click(function(){
$("#test2").html("<b>Hello world!</b>");
});
$("#btn3").click(function(){
$("#test3").val("Dolly Duck");
});