Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过JQuery Onclick将值传递到函数中_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript 通过JQuery Onclick将值传递到函数中

Javascript 通过JQuery Onclick将值传递到函数中,javascript,php,jquery,html,Javascript,Php,Jquery,Html,目标 我正在尝试创建一个表单,允许用户选择一个项目,然后在用户选择一个项目后显示该项目的详细信息。然而,在此之前,我试图通过创建一个简单的测试页面来测试是否可能,该页面将用一个简单的警报替换要显示的项目详细信息 代码(JQuery): <!--Function to display item details upon selection--> <script type="text/javascript"> function LoadDetails(cat,subcat,

目标

我正在尝试创建一个表单,允许用户选择一个项目,然后在用户选择一个项目后显示该项目的详细信息。然而,在此之前,我试图通过创建一个简单的测试页面来测试是否可能,该页面将用一个简单的警报替换要显示的项目详细信息

代码(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>
问题:

<!--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>

是否可以使用函数LoadDetails(通过PHP)从我的数据库中检索项目详细信息,然后将其回显?

要获取下拉列表中选择的值,您可以执行以下操作:

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);    
}

这是严格的客户端,它不与服务器通信。

要获取下拉列表中选择的值,您可以执行以下操作:

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);    
}

这是严格意义上的客户端,它不与服务器通信。

要使用事件将值传递给函数,语法如下:

$("#submititem").bind('click', LoadDetails(cat, subcat, item));
例如


对于您的问题,您的代码似乎只是客户端代码,但如果您想从服务器加载数据,我建议您阅读此

以通过事件将值传递给函数,语法如下:

$("#submititem").bind('click', LoadDetails(cat, subcat, item));
例如


对于您的问题,您的代码似乎只是客户端代码,但如果您想从服务器加载数据,我建议您将此作为测试阅读

,为什么不直接在绑定回调中将参数cat、subcat和item传递给LoadDetails?当然,你也可以直接进行回拨交易?特别是,因为你似乎没有重复使用。绑定。('click',函数(cat、subcat、item){…})@SaminOz我对编程还是比较陌生,所以我不太明白你说的绑定回调是什么意思。我可以麻烦你举个例子吗?作为测试,你为什么不直接将参数cat、subcat和item传递给绑定回调中的LoadDetails?当然,你也可以直接进行回调处理?特别是,因为你似乎没有重用“绑定”('click',函数(cat,subcat,item){…})@SaminOz我还是一个编程新手,所以我不太明白你所说的绑定回调是什么意思。我能麻烦你举个例子吗?