通过 JQuery Onclick 将值传递到函数中
Passing values into a function via JQuery Onclick
AIM
我正在尝试创建一个表单,让用户选择一个项目,然后在用户选择项目后显示该项目的详细信息。但是,在我这样做之前,我正在尝试通过创建一个简单的测试页面来测试是否可行,该页面将要显示的项目详细信息替换为简单的警报
代码(JQuery):
<!--Function to display item details upon selection-->
<script type="text/javascript">
function LoadDetails(cat,subcat,item)
{
return function(){
alert("Values are passed through successfully.Category is"+cat+", subcategory is"+subcat+"and item is"+item);
}
}
</script>
<script type="text/javascript">
$(document).ready(function(){
$("#itemsubcat").hide();
$("#item").hide();
$("#submititem").hide();
$("#itemcat").load("getcategory.php");
$("#itemcat").change(function(){
var cat=$("#itemcat").val();
$("#itemsubcat").show();
$("#itemsubcat").load('getsubcategory.php?cat='+cat);
});
$("#itemsubcat").change(function(){
var cat=$("#itemcat").val();
var subcat=$("#itemsubcat").val();
$("#item").show();
$("#item").load('getitem.php?cat='+cat+'&subcat='+subcat);
});
$("#item").change(function(){
$("#submititem").show();
});
var cat=$("#itemcat").val();,
var subcat=$("#itemsubcat").val();,
var item=$("#item").val();,
$("#submititem").bind('click',{param:cat,subcat,item},LoadDetails);
});
});
</script>
代码(网页):
<table>
<tr>
<td><select id="itemcat" /></td>
<td><select id="itemsubcat" /></td>
<td><select id="item" /></td>
<td><input type="button" id="submititem" name="submititem" value="Get Item" /></td>
</tr>
</table>
问题
当我单击"提交项目"时,警报会成功弹出,但值 cat、subcat 和 item 显示为未定义,而不是应该传递的值。如何将数据/值传递给函数 加载详细信息?
尝试过的解决方案:
我尝试使用.bind(),但无济于事。
例如
var cat=$("#itemcat").val();,
var subcat=$("#itemsubcat").val();,
var item=$("#item").val();,
$("#submititem").bind('click',{param:cat,subcat,item},LoadDetails);
问题:
是否可以使用函数 LoadDetails 从我的数据库中检索项目详细信息(通过 PHP),然后将其回显出来?
要将值传递给带有事件的函数,语法为:
$("#submititem").bind('click', LoadDetails(cat, subcat, item));
jsFiddle for exemple.
对于您的问题,您的代码似乎只是客户端的,但如果您想从服务器加载数据,我建议您阅读此内容 学习 jQuery ajax
要获取下拉列表中选择的值,您可以这样做:
function LoadDetails()
{
var cat=$("#itemcat").find(":selected").text();
var subcat=$("#itemsubcat").find(":selected").text();
var item=$("#item").find(":selected").text();
alert("Values are passed through successfully.Category is"+cat+", subcategory is"+subcat+"and item is"+item);
}
这是严格的客户端,它不与服务器通信。
相关文章:
- 如何将值传递给wicket中的javascript函数
- 需要将select标记选项值传递给ajax函数
- 在key up函数上将文本框值传递给javascript
- 将文本框值传递给javascript函数
- 如何解决将值传递给javascript函数时的错误
- 将参数值传递给javascript函数
- 将文本框值传递给JS函数以转换为JSON
- 如何将JS函数中的值传递给laravel控制器
- 将选定的值传递给jquery函数
- 将列表值传递给jQuery单击函数
- 如何将剃刀视图模态属性值传递给javascript函数
- 如何从代码隐藏将布尔值传递给 JavaScript 函数
- 将值与MySQL一起传递,将检索到的值作为JavaScript中的隐藏值传递给AJAX函数
- 无法将值传递给 jsp 中的警报函数
- 将强类型的 ViewModel 值传递给 Javascript 函数
- 将结果集值传递给 JavaScript 函数
- 将值传递给 JavaScript 函数 onclick
- 将多个选择值传递给 Javascript API 函数
- 如何从无限循环的Javascript函数将值传递给MySQL
- 使用 setTimeout 时将值传递给 javascript 中的函数