如何在jquery验证中更改remote的url

时间:2015-08-23 10:22:19

标签: jquery jquery-validate

我想在jquery的远程函数中更改我的url每次点击按钮1或按钮2但不重新加载页面

    $("#serviceform").validate({
       ignore: "",
       rules:{
            servicename:{
              required: true,
              minlength: 3,
              remote:{
                url: ($('#serviceid').val() == "newid88765789") ? url2:url1,// alert(1):alert(2), 
                type:"POST"
                },
            },
       }  
     });

1 个答案:

答案 0 :(得分:-1)

目前还不完全清楚你要做什么,也不能看到你的HTML。一方面,您说您希望URL取决于单击哪个按钮,另一方面,您向我们显示了一个条件,其中URL取决于url的值。这是两件不同的事情。

如果您的条件是正确的,只需将$("#serviceform").validate({ ignore: "", rules:{ servicename:{ required: true, minlength: 3, remote: { url: function() { return ($('#serviceid').val() == "newid88765789") ? url2 : url1; }, type:"POST" } } } }); 参数括在JavaScript函数中即可...

click

否则,在单击某个按钮时更改特定规则的参数的唯一方法是在$('#button_one').on('click', function(e) { // block default submit // would not need this for 'type="button"' e.preventDefault; // add/change the remote rule $('input[name="servicename"]').rules('add', { remote: { url: // your url for button 1, type: "POST" } }); // trigger a validation test of the entire form $("#serviceform").valid(); }); $('#button_two').on('click', function(e) { // block default submit // would not need this for 'type="button"' e.preventDefault; // add/change the remote rule $('input[name="servicename"]').rules('add', { remote: { url: // your url for button 2, type: "POST" } }); // trigger a validation test of the entire form $("#serviceform").valid(); }); 处理程序中使用the .rules('add') method。不要忘记在规则更改后以编程方式触发表单的验证测试。

    public event EventHandler _itemChanged;
    public MainWindow()
    {
        List<String> items = new List<string>();
        items.Add("C");
        items.Add("C++");
        items.Add("C#");
        items.Add("Java");
        items.Add("Js");
        InitializeComponent();
        combx.ItemsSource = items;
        _itemChanged += MainWindow__itemChanged;
        DependencyPropertyDescriptor dpcombx;
        dpcombx =      
              DependencyPropertyDescriptor.FromProperty((DependencyProperty)
              ComboBox.SelectedValueProperty, typeof(ComboBox));

        dpcombx.AddValueChanged(dpcombx, _itemChanged);
    }
    void MainWindow__itemChanged(object sender, EventArgs e)
    {
        ComboBox cb = (ComboBox) sender;

        lbl_Combx.Content = (string)cb.SelectedItem;
    }