我正在使用HTML5 / Bootstrap 3 CSS和PHP开展学校项目,我对PHP& Javascript(jQuery Ajax)。
所以我有一个链接“Click Me”,它基本上通过代码在一个模态框中打开一个远程php文件(让我们称之为edit.php):
<a data-toggle="modal" class="btn btn-info" href="prijzenWijzigen.php" data-target="#myModal">Click me !</a>
值(来自数据库的ID)和列表框中的文本是通过PHP生成的,并且工作正常。我写了一些测试代码,以测试它是否提醒我所选项目的价值,这也有效!
我想做的是:
从所选项目中获取值(获取代码)并将其传递给edit.php 这样我就可以在edit.php中操作它了。我的问题是我如何将所选值传递给edit.php页面。我通过AJAX调用google搜索了一些代码到PHP页面,但它通常只是一些杂乱的代码和我真正不需要的代码。
提前感谢您的帮助!
修改
当我使用AJAX传递所选项目的值时,这就是我现在所得到的:
我现在想要实现的是获得回复(显然是整个edit.php页面)并将其放入模式框中,如上图2所示。这仍然可以使用AJAX吗?
答案 0 :(得分:2)
这将是您的ajax呼叫代码。
$.ajax({
url : "edit.php?selected="+$("#selectMenuId :selected").val(),
type : "GET",
success : function(data) {
// do something ehere if the call was successful
},
error : function(data) {
// do something here if the call failed
}
});
在PHP中:
$selectedValue = $_GET["selected"];
答案 1 :(得分:1)
要使用bootstrap远程模式执行此操作,您将删除数据属性(数据切换,数据目标,...)并使用javascript来触发模式。
// Trigger the modal when the button with the id modalButton is pressed.
$(document).ready(function() {
$('button#modalButton').click(function() {
$('#myModal').modal({
remote: 'prijzenWijzigen.php?selected=' + $('#select').val()
});
});
});
// Remove the modal content when the modal is closed so it will reload
// the content if you change the selection and press the button again.
$(document).on('hidden.bs.modal', function (e) {
$(e.target).removeData('bs.modal');
});
并在您的HTML中
<select id="select">
<option value="1">1</option>
<option value="2">2</option>
</select>
<button id="modalButton" class="btn btn-info">Click me !</button>
在PHP中,您将使用,如下所示
$_GET["selected"];
这是一个有效的JSFiddle http://jsfiddle.net/fUxcg/
答案 2 :(得分:0)
您可以将ID指定给选择框,当您调用ajax时,您可以从id中获取选择框的值,如:
var value = document.getElementById("sel_box").value;
其中sel_box是选择框的id;
然后你可以使用值变量并传入URL中的AJAX请求,如:
edit.php?id=value;
在edit.php中你可以得到:
$id = $_GET['id'];
谢谢&amp;方面
Pulkit Jalani
答案 3 :(得分:0)
$.ajax({
type : "GET",
url : "edit.php",
data: {
data: $('#selectId').find(":selected").val(),
data2: $('#select2Id').find(":selected").val()
},
success: function(data) {
$("#target").html(data); /*return result from edit.php*/
},
});