ajax post

时间:2016-03-01 16:01:53

标签: javascript php jquery ajax dialog

我有一个表单和一个jQuery函数,如果用户更改了html选择字段,则会触发该函数。该函数收集所需的所有信息,并使用ajax帖子发布到php脚本。 我想用新功能扩展此功能:如果所选值等于预定义值,我想显示带有两个按钮的对话框。用户需要单击其中一个按钮,如果他这样做,新信息将附加到帖子。 一个简单的例子: 选择有3个选项: - 柠檬 - 香蕉 - Apple

如果用户选择柠檬或香蕉,脚本会将信息发送到服务器而无需进一步操作。但如果他选择苹果,我需要额外的对话,因为我想询问他是否需要红色或绿色。它需要附加到我想要发送到服务器的信息上。

你能帮帮我们,我该怎么做?

我只有第一部分:

$('select.myList').change( function()
{
    var e = $(this)
    var val = $(this).val();
    var id = $(this).attr('data-id')

    var url = 'index.php?process'
    $.ajax({
        type: "POST",
        url: url,
        data: { id: id, val: val },
        success: function(data){
            var o = $.parseJSON(data);
            if( o.error )
            {
                console.log('error:' + o.message);
            } else
            {
                console.log('success:' + o.message);
            }

            return false;
        }
        })

    return false
})

1 个答案:

答案 0 :(得分:0)

首先,我会说你应该非常小心你的变量名。如果可以避免,你绝不应该使用e作为变量。我还会更改idval

在任何情况下,您都应该能够使用ajax:http://api.jquery.com/jquery.ajax/中的beforeSend属性,因此假设'apple'将是元素的val

$.ajax({
    type: "POST",
    url: url,
    data: { id: id, val: val },
    beforeSend: function() { 
        if (val === 'Apple') { 
            //do stuff 
        }
    },
    // rest of ajax call 
}