单击一个div但另一个没有单击时显示警报

时间:2014-04-03 12:53:36

标签: javascript jquery click

希望这是可能的,有人可以提供帮助。基本上,我已经创建了一个包注册表单,因此用户可以选择他们想要包含的包的哪些功能,查看价格,然后注册包。

用户从下拉选择框中选择他们的选项,按下添加按钮以增加包价格,然后一旦开心,他们可以点击注册提交。

我需要做的是,如果用户使用下拉列表,选择一个选项,但没有点击添加,他们应该收到一条消息,说明如果他们单击“注册”,则在继续之前单击“添加”。可以在http://pure.evolvedublin.com/broadband找到一个示例(点击费用计算器下​​的开始)

我希望这是有道理的!

我的HTML是:

<div class="styled-select">
    <select id="broadband_package1" name="broadband_package1">
        <option value="0" checked="checked">No Thanks!</option>
        <option value="1">Package 1</option>
        <option value="2">Package 2</option>
        <option value="3">Package 3</option>
        <option value="4">Package 4</option>
    </select>           
</div>
<a href="#" title="Add" class="chat calculate-total1" id="calculate-total">Add</a>



<div class="homepage-content-small">
    <h2>Happy with your new bill?</h2>

    <input type="submit" value="Sign Up" title="Sign Up" class="chat signup">
    <small class="make_sure" style="display:none;">Make sure to Add your desired add on</small> 
</div>  

我到目前为止开始的jQuery是:

jQuery(".signup").click(function() {

    if (".calculate-total1"):not(click){
    jQuery(".make_sure").show();
    else {
    jQuery(".make_sure").hide();
});

目前,我似乎无法通过我尝试过的任何方法找到一种方法。

谢谢你们,任何帮助都将不胜感激

4 个答案:

答案 0 :(得分:3)

您可以使用全局变量。

jQuery(function ($) {

    var totalCalculated = false;

    $('.calculate-total1').on('click', function () {
        totalCalculated = true;
    });

    $('.signup').on('click', function (e) {
        if (totalCalculated) {
            $(".make_sure").hide();
        } else {
            e.preventDefault();
            $('.make_sure').show();
        }
    });

});

答案 1 :(得分:2)

以波格丹的解决方案为基础。我听起来你并不想要&#34; .make_sure&#34; div显示他们是否根本没有选择任何东西,所以这里是实现。

$(document).ready(function ($)
{
    var totalCalculated = false;

    $('.calculate-total1').click(function ()
    {
        totalCalculated = true;
    });

    $('.signup').click(function ()
    {
        if ($("#broadband_package1").val() == "0|No Broadband Package" || totalCalculated)
        {
            //$(".make_sure").hide();
            alert("You Can't See Me");
        }
        else
        {
            //$('.make_sure').show();
            alert("Did You Forget to Add Your Package?");
        }
    });
});

以下是小提琴的链接:http://jsfiddle.net/W2aR3/11/

答案 2 :(得分:0)

添加隐藏输入

<input type="hidden" name="is_added" value="0">

添加onClick方法进行链接,以便在点击时将此隐藏项目值设置为1

$("a#calculate-total").on("click", function(){
    $("input[name=is_added]").val("1");
})

注册前检查此值

if ($("input[name=hidden]").val() == "0")
{
    // not clicked
}
else
{
    // clicked
}

答案 3 :(得分:0)

在单击按钮上插入attr data-choice =“false”。 当用户点击添加按钮更改attr data-choice =“true”时。 所以你可以在那个attr上管理你的条件。