Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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 如何从<;的id中获取两个变量;a>;并创建ajax查询_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 如何从<;的id中获取两个变量;a>;并创建ajax查询

Javascript 如何从<;的id中获取两个变量;a>;并创建ajax查询,javascript,jquery,ajax,Javascript,Jquery,Ajax,我的菜单结构如下所示。在id的 //编辑 链接的外观如下所示: <ul id="fotolia_menu"> <li><a href="#">Kategorie</a> <ul> <li><a href="#" data-paramType="cat1" data-param="3000000">Ludzie</a> <ul&

我的菜单结构如下所示。在
id的

//编辑

链接的外观如下所示:

<ul id="fotolia_menu">
<li><a href="#">Kategorie</a>
    <ul>
        <li><a href="#" data-paramType="cat1" data-param="3000000">Ludzie</a>
            <ul>
                <li><a href="#" data-paramType="cat1" data-param="3001000">W Studio</a>
                <ul>
                  <li><a href="#" data-paramType="cat1" data-param="3001001">Mężczyzna</a></li>
                  <li><a href="#" data-paramType="cat1" data-param="3001002">Kobieta</a></li>
                  <li><a href="#" data-paramType="cat1" data-param="3001003">Niemowlę</a></li>
                  <li><a href="#" data-paramType="cat1" data-param="3001004">Dziecko</a></li>
但这不起作用:

    <script type="text/javascript">
    function thumb(paramType, param, page){
        $.ajax({
            url: "skrypt.php?paramType="+paramType+"&param="+param+"&page="+page
        }).done(function(data) {                            
            $('#content').html(data);
        });
    }

    $('#fotolia_menu a').click(function(){
        var paramtype = $elt.data("paramType");
        var param = $elt.data("param");
        thumb(paramType, param, 0);
    });

功能拇指(参数类型、参数、页面){
$.ajax({
url:“skrypt.php?paramType=“+paramType+”¶m=“+param+”&page=“+page
}).done(函数(数据){
$('#content').html(数据);
});
}
$(“#fotolia_菜单a”)。单击(函数(){
var paramtype=$elt.data(“paramtype”);
变量参数=$elt.data(“参数”);
拇指(paramType,param,0);
});

老实说,您可能不应该在id属性中包含该信息。您可能应该做的是:

<a href="#" data-param1="cat1" data-param2="3001001">..</a>
当HTML5提供了一种非常好的方法来存储具有数据属性的元素的元信息时,没有理由乱来拆分id标记


如果您绝对不想改变做事的方式,那么“是”
split
是正确的处理方法,正如mopo922所回答的那样。

老实说,您可能不应该在id属性中包含该信息。您可能应该做的是:

<a href="#" data-param1="cat1" data-param2="3001001">..</a>
当HTML5提供了一种非常好的方法来存储具有数据属性的元素的元信息时,没有理由乱来拆分id标记


如果你绝对不想改变你做事的方式,那么“是”
split
是正确的处理方法,因为mopo922已经回答了这个问题。

添加一个click事件,该事件拆分被单击元素的
id
,并将这些值作为参数传递给
thumb()


$(“#fotolia_菜单a”)。单击(函数(){
var pieces=$(this.attr('id').split('uu');
拇指(片[0],片[1],0);
});

或者,我非常喜欢@ThatidotGuy给出的关于使用
数据-
属性的答案。

添加一个单击事件,该事件拆分单击元素的
id
,并将这些值作为参数传递给
thumb()


$(“#fotolia_菜单a”)。单击(函数(){
var pieces=$(this.attr('id').split('uu');
拇指(片[0],片[1],0);
});

或者,我真的很喜欢@thatitoguy给出的关于使用
data-
attributes的答案。

获取锚定标记的id并使用split函数获取两个值设置锚定标记的id并使用split函数获取两个值我已经选择了你的方式。现在我的链接看起来是这样的:但这是:$('fotolia_menu a')。单击(函数(){var paramType=$elt.data(“paramType”);var param=$elt.data(“param”);thumb(paramType,param,0);});不起作用:(@Axwell你能把新的HTML和代码编辑成你原来的问题吗?很难在评论中看到所有这些。另外,我在小提琴中使用了
$elt
,因为这就是我命名的JQuery对象。这就是你的名字吗?@Axwell使用
$(这个)
而不是
$elt
@Axwell是的,你只是盲目地从我的小提琴上复制了代码。
$elt
没有在你的代码中定义。请在数据调用之前加上这行:
var$elt=$(this);
var param=$(this)。数据(“param”);仍然没有任何内容。我选择了你的方式。现在我的链接看起来像这样:但这是:$(“#fotolia_menu a”)。单击(函数(){var paramType=$elt.data(“paramType”);var param=$elt.data(“param”);thumb(paramType,param,0);});不起作用:(@Axwell你能把新的HTML和代码编辑成你原来的问题吗?很难在评论中看到所有这些。另外,我在小提琴中使用了
$elt
,因为这就是我命名的JQuery对象。这就是你的名字吗?@Axwell使用
$(这个)
而不是
$elt
@Axwell是的,你只是盲目地从我的小提琴上复制了代码。
$elt
没有在你的代码中定义。在数据调用之前放一行:
var$elt=$(this);
var param=$(this)。data(“param”);仍然没有任何内容。
<a href="#" data-param1="cat1" data-param2="3001001">..</a>
var param1 = $elt.data("param1");
var param2 = $elt.data("param2");
<script>
$('#fotolia_menu a').click(function(){
    var pieces = $(this).attr('id').split('_');
    thumb(pieces[0], pieces[1], 0);
});