1

I have created two text boxes and I have restricted the user not to allow text with help of keydown events in master page.

<label>Amount</label>
<div>
  <asp:TextBox ID="txtAmount" class="form-control" runat="server"></asp:TextBox>
</div>
<label>Amount</label>
<div>
  <asp:TextBox ID="txtAmountvalue"  class="form-control" runat="server"></asp:TextBox>
</div>
if ("input[id$='txtAmount']")
  $(this).keydown(function (event) {
    if ((event.keyCode >= 48 && event.keyCode <= 57) || 
      (event.keyCode >= 96 && event.keyCode <= 105) || 
      (event.keyCode == 8) || (event.keyCode == 9) || (event.keyCode == 12) || 
      (event.keyCode == 27) || (event.keyCode == 37) || (event.keyCode == 9) || 
      (event.keyCode == 39) || (event.keyCode == 46) || (event.keyCode == 190) || 
      (event.keyCode == 110)) { 
      return true; 
    } else { 
      return false; 
    }
});

if ("input[id$='txtAmountvalue']")
  $(this).keydown(function (event) {
    if ((event.keyCode >= 48 && event.keyCode <= 57) || 
      (event.keyCode >= 96 && event.keyCode <= 105) || 
      (event.keyCode == 8) || (event.keyCode == 9) || (event.keyCode == 12) || 
      (event.keyCode == 27) || (event.keyCode == 37) || (event.keyCode == 9) || 
      (event.keyCode == 39) || (event.keyCode == 46) || (event.keyCode == 190) ||   
      (event.keyCode == 110)) { 
      return true;
    } else { 
      return false; 
    }
});

I have created two keydown events but the given values are same for both two text boxes.So my question is how to combine both the keydown events in one function?

1
  • Your syntax looks very weird given the if statement using a string literal (which will always equate to true), the keydown attaching to an undefined this scope, and the massive if statement which can be simplified. I'm surprised this works at all. Either way, to join two selectors in a jQuery object use a comma: $('input[id$="txtAmount"], input[id$="txtAmountvalue"]') Commented Sep 28, 2017 at 10:15

1 Answer 1

0

You can simply use jquery contain selector with (id*='yourid') for both you inpurt knowing they statrts by txtAmount text in their ID's as beow snippet :

$("input[id*='txtAmount']").keydown(function(event) {
  if ((event.keyCode >= 48 && event.keyCode <= 57) ||
    (event.keyCode >= 96 && event.keyCode <= 105) ||
    (event.keyCode == 8) || (event.keyCode == 9) || (event.keyCode == 12) ||
    (event.keyCode == 27) || (event.keyCode == 37) || (event.keyCode == 9) ||
    (event.keyCode == 39) || (event.keyCode == 46) || (event.keyCode == 190) ||
    (event.keyCode == 110)) {
    console.log("true");
    return true;
  } else {
    console.log("false");
    return false;
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>Amount</label>
<div>
  <input id="txtAmount" class="form-control" runat="server" />
</div>
<label>Amount</label>
<div>
  <input id="txtAmountvalue" class="form-control" runat="server" />
</div>

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.