javascript - 使用 Ajax 传递单击的提交按钮值

标签 javascript jquery html ajax wordpress

我正在 WordPress 中工作,我有一个 html 表单,其中有两个具有相同类名和不同值的提交按钮。我通过 ajax 传递提交按钮点击值并将其显示在屏幕上。现在我的问题是,只有第一个提交按钮值会通过,而第二个提交按钮值永远不会显示在屏幕上。请指导,下面是我的代码。

代码

<form id="mydispimage" action="" method="post">
    <select id="category" style="width: 250px; background-color: lightgrey;" name="category">
        <option disabled="disabled" selected="selected" value="">Select category</option>
        <option value="Cutie Pie">Cutie Pie</option>
        <option value="Chubby">Chubby</option>
        <option value="Dimples">Dimples</option>
    </select>
    <input class="displayimage" name="displayimage" type="submit" value="star1" />
    <input class="displayimage" name="displayimage" type="submit" value="star2" />
</form>

JQuery

jQuery(function ($) {
    $(".displayimage").click(function (e) { //form is intercepted
        e.preventDefault();
        //show timer
        jQuery("#timer").css("display", "block");
        jQuery("#participate").css("display", "block");
        var vote = jQuery(".displayimage").val();
        alert(vote);

        //$("#timer").show(slow);
        //serialize the form which contains secretcode
        // var sentdata = $(this).serializeArray();
        //var vote = 1;
        //Add the additional param to the data        
        var sentdata = ({

            action: 'displaymyimage',
            foo: vote
        })

        //set sentdata as the data to be sent
        $.post(yes.ajaxurl, sentdata, function (res) { //start of funciton
            //$("#myresult").append(res.l);
            //alert(res);
            $("#myresult").html(res);
            //$.parseJSON(data);
            return false;
        } //end of function
        ,
        'json'); //set the dataType as json, so you will get the parsed data in the callback
    });  // submit end here

});

最佳答案

改变这个

 var vote= jQuery(".displayimage").val();

到此

 var vote= jQuery(this).val();

您需要使用$(this)。否则,您将始终使用具有匹配 .displayimage 类的元素中的第一个值。这就是为什么您总是看到第一个按钮的值。

关于javascript - 使用 Ajax 传递单击的提交按钮值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29991302/

相关文章:

javascript - 如何获取选定的文本范围并向特定选定的文本添加颜色

asp.net - 如何引用 javascript 文件?

javascript - 如何在 javascript 的新窗口中打开链接并仅在单击按钮时增加计数器?

html - 单元格的内容应该占据所有行而不改变列宽

javascript 正则表达式应该以有效匹配结束

javascript - 在javascript中调试符号的正确方法

javascript 到 jquery 的代码转换,该代码对于带有单选按钮的文本字段的动态外观和消失效果很好

javascript - 从用户获取颜色时无法使用 jQuery 更改文本颜色

jquery - 所有文本字段中的值计算时出现问题

html - 是否可以在 CSS 类名中使用空格字符?