我在html中有一个下拉列表。
当我更改下拉列表的值时,我想将所选值存储在php变量中
我怎样才能实现这个目标?
答案 0 :(得分:1)
如果没有提交表单,可以使用AJAX调用(请参阅Prototype和MooTools等库以获取简单方法)来完成所有选择标记的onchange
HTML属性。
答案 1 :(得分:1)
从技术上讲,这是不可能的。 PHP是服务器端,HTML是客户端。当用户调用URL时,服务器运行PHP,该PHP将被发送到HTML,因此您无法倒退。
但是,您可以使用ajax获取选择框的值并以某种有意义的方式使用它。你想用这个变量做什么?
修改强>
使用jQuery我会将选择框的值发送到ajax文件,然后让ajax文件创建文本框(如果值是你想要的那样)。这是一个例子。
$("#selectEle").change(function() {
$.ajax({
type: "POST",
url: "yourajaxpage.ajax.php",
data: {selectVal: $(this).val()},
success: function(response) {
$("#textBoxArea").html(response);
},
error: function() { alert("Ajax request failed."); }
}
});
您将使用$ _POST ['selectVal']获取ajax页面中的值。在那里测试该值,并创建一个HTML文本框,然后将其发送回成功函数。
答案 2 :(得分:0)
是的,正如建议的那样,javascript / ajax实现非常适合。
我使用jQuery,但我认为它可以在其他库中实现。
无论如何.jQuery中的.change()都适用于此。当用户更改下拉列表的选定索引时,它会触发.change()函数,您可以在此函数中插入更多javascript conde以进行所需的更改。
如果您需要,您可以找到所选索引或获取所选索引的值,并根据该值添加逻辑以加载文本框(也使用javascript)。
像
这样的东西$('target').change(function() {
var value = $('target').val(); // gets the selected value
if(value == "what you want it to be")
{
// load data into a div from your php file.
$('#loading_div').load('ajax/test.html');
}
});
这绝对应该让你开始。