带有 .Ajax()/childNodes 的 Javascript 选择器

标签 javascript jquery ajax child-nodes

<ul id="feature-deals" class="list-products">
    <li>
        <a href="#" class="pname">pink</a>
        <span id="uid">021454</span>
        <span id="qty">1</span>
    </li><br>
    <li>
        <a href="#" class="pname">yellow</a>
        <span id="uid">012447</span>
        <span id="qty">1</span>
    </li><br>
    <li>
        <a href="#" class="pname">violet</a>
        <span id="uid">0127841</span>
        <span id="qty">1</span>
    </li><br>
</ul>

js脚本

$("#feature-deals li").click(function () {
    $.ajax({            
        url: "phpPage.php",
        type: "POST",
        data: ({
            productId: $(????).text(),
            productType: $(????).text(),
            productQty: $(???).text() 
        }),
        success : function(data){                                                           
            totalItemCart();
            $("#div1").html(data);
        }
    })


    .error(function(){
        alert('error... ohh no!');
    });

});

如何从选定的li中获取整个li内容(pname,uid,qty)并通过.ajax()传递它

这就是我想做的事情:

li内容 --> 获取所有信息(pname,uid,qty) --> 放入ajax数据中 --> 传递给phpPage.php --> 返回结果

最佳答案

重复的 id 在 html 中是无效的,我建议使用类而不是 id,然后选择具有特定类的 li 的后代

<ul id="feature-deals" class="list-products">
    <li>
        <a href="#" class="pname">pink</a>
        <span class="uid">021454</span>
        <span class="qty">1</span>
    </li><br>
    <li>
        <a href="#" class="pname">yellow</a>
        <span class="uid">012447</span>
        <span class="qty">1</span>
    </li><br>
    <li>
        <a href="#" class="pname">violet</a>
        <span class="uid">0127841</span>
        <span class="qty">1</span>
    </li><br>
</ul>
$("#feature-deals li").click(function () {
    $.ajax({            
        url: "phpPage.php",
        type: "POST",
        data: ({
            productId: $('.uid',this).text(),
            productType: $('.pname',this).text(),
            productQty: $('.qty',this).text() 
        }),
        success : function(data){                                                           
            totalItemCart();
            $("#div1").html(data);
        }
    })


    .error(function(){
        alert('error... ohh no!');
    });

});

关于带有 .Ajax()/childNodes 的 Javascript 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30745495/

相关文章:

javascript - 在同一行中多次匹配字符串模式

javascript - 如果超过 x 秒没有点击某个其他 div,则显示 div

javascript - 如何在工具提示中显示ajax调用返回的信息

javascript - 使用 AJAX Jquery Javascript 单击函数

php - Ajax 登录和 javascript cookie,这安全吗?

javascript - 当数组有一个值(即使它是空字符串)时处理条件逻辑?

javascript - 为什么这个回调值在 javascript 中是空白的?

javascript - Alloy-ui 多个日期选择器将选择发送到其他输入

jquery - 如何传递 "'“使用追加 jQuery

javascript - 使用 SkelJS 的断点 - 调整宽屏显示器?