基于选择的jquery动态验证

时间:2011-04-19 07:46:52

标签: jquery drop-down-menu textbox

我有以下jquery代码,我遍历div并找到2个下拉列表和1个文本框。

所以基本上div中的每一行都有2个HTML SELECT和1个输入类型的文本框

我想根据这两个HTML选择的选定值对文本框进行验证。

所以对于ex:如果我从第一个下拉列表中选择option1并从第二个下拉列表中选择option3,那么我的文本框只能包含20个字符。

请告知我该怎么做。

var searchString = '';
        $("#btnSearch").click(function () {
            searchString = "";
            $("div.cloneRow").each(function () {
                if ($(this).find("input[type=text]").val() != '') {
                    $(this).find("select").each(function () {
                        if ($.trim($(this).val()) != '') {
                            searchString += $.trim($(this).val()) + " ";
                        }
                    });
                    $(this).find("input[type=text]").each(function () {
                        searchString += $.trim($(this).val());
                    });
                }
            });
            alert(searchString);
        });
    });

由于

1 个答案:

答案 0 :(得分:1)

每次按下按钮,您都会遍历包含2个选择框和文本框的div,并为每个文本框检查选择框的值并做出决定。我给出了一个案例,但可以进一步改进。希望它有所帮助

          $("#yourbuttonid").click(function(){
              $("div.cloneRow").each(function () {
                  var $select1 = $($(this).find("select.first"));
                  var $select2 = $($(this).find("select.second"));
                  var $text = $("input[type='text']");
                  if($select2.val() != ""){
                      //Your cases go in here
                      if($select1.val() == "1" && $select2.val() == "4"){
                          //check if the allowed length is exceeded for this case
                          if($text.val().length > 20){
                              //if it is empty the textbox and give a red border
                              $text.val("");
                              $text.css("border", "1px solid red");
                          }
                      }
                      //other cases go here
                  } 
              });
          });