0

JQuery バリデータ プラグインは「名前」を使用しており、ID で動的に検索したいと考えています。私の $test 変数は正しい名前の文字列を返しますが、文字列を使用できません。

この変数を使用して、ハードコードされた名前 (ctl00$MainContent$ListBox1) を置き換えるにはどうすればよいですか?

それ以外の:

<script type="text/javascript">
    $(document).ready(function () {
        var $test = $("#ListBox1").attr("name");

        $("#form1").validate({
            rules: {
                ctl00$MainContent$ListBox1: {
                    required: true,
                    rangelength: [0, 4]
                }
            },
            messages: {
                ctl00$MainContent$ListBox1: {
                    required: "Please select a state",
                    rangelength: "Please select maximum 4 states"
                }
            },
            errorLabelContainer: $("#message")
        });
    });
</script>

次のようなものを使用したいと思います:

$("#form1").validate({
     rules: {
         $test: {
              required: true,
              rangelength: [0, 4]
          }
      },
4

1 に答える 1

1

実際にメンバーIDを置き換えることはできません。ただし、オブジェクトを拡張することはできます。

$(document).ready(function () {
    var test = $("#ListBox1").attr("name");
    var validators = {
        rules: {},
        messages: {},
        errorLabelContainer: $("#message")
    };

    validators.rules[test] = {
        required: true,
        rangelength: [0, 4]
    };
    validator.messages[test] = {
        required: "Please select a state",
        rangelength: "Please select maximum 4 states"
    }

    $("#form1").validate(validators);
});

messagesこれで、とrulesオブジェクトの両方に、保存した名前のメンバーが含まれます。

于 2012-08-01T15:36:06.957 に答える