Warm tip: This article is reproduced from stackoverflow.com, please click
drop-down-menu jquery jquery-ui select autofill

How to autofill credit card data using .selectmenu jquery ui?

发布于 2020-04-08 15:41:05

I have payment page. with credit card PAN input and expiration date select boxes (month/year) which I modified from select box to drop down menu using jquery ui > .selectmenu

When I choose saved card from PAN input, Pan data is filled in PAN Input, but expiration data does not fill in drop down menu. Only when I press each menu (Month/year) needed value is being preselected from drop down list. My goal is to set expiration date permanently with Pan when I select my saved card. How can I achive it ?

This is my expiration date month select box drop down menu

<select class="date1" id="Mon" name="Mon" style="display: none;"><option value="01" selected="" id="Mon01">01</option><option value="02" id="Mon02">02</option><option value="03" id="Mon03">03</option><option value="04" id="Mon04">04</option><option value="05" id="Mon05">05</option><option value="06" id="Mon06">06</option><option value="07" id="Mon07">07</option><option value="08" id="Mon08">08</option><option value="09" id="Mon09">09</option><option value="10" id="Mon10">10</option><option value="11" id="Mon11">11</option><option value="12" id="Mon12">12</option></select>

Using

$( "select" ).selectmenu({})

I transform my select to drop down list below

<span tabindex="0" id="Mon-button" role="combobox" aria-expanded="false" aria-autocomplete="list" aria-owns="Mon-menu" aria-haspopup="true" class="ui-selectmenu-button ui-selectmenu-button-closed ui-corner-all ui-button ui-widget" aria-activedescendant="ui-id-1" aria-labelledby="ui-id-1" aria-disabled="false">
    <span class="ui-selectmenu-icon ui-icon ui-icon-triangle-1-s"></span>
    <span class="ui-selectmenu-text">01</span>
</span>
Questioner
David
Viewed
46
Twisty 2020-02-01 01:09

You can set the value before or after initialization. If doing so after, you must use refresh method.

$(function() {
  $("#Mon").selectmenu();
  $("#set-mon").click(function() {
    $("#Mon").val("06").selectmenu("refresh");
  });
});
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<select class="date1" id="Mon" name="Mon">
  <option value="01" id="Mon01">01</option>
  <option value="02" id="Mon02">02</option>
  <option value="03" id="Mon03">03</option>
  <option value="04" id="Mon04">04</option>
  <option value="05" id="Mon05">05</option>
  <option value="06" id="Mon06">06</option>
  <option value="07" id="Mon07">07</option>
  <option value="08" id="Mon08">08</option>
  <option value="09" id="Mon09">09</option>
  <option value="10" id="Mon10">10</option>
  <option value="11" id="Mon11">11</option>
  <option value="12" id="Mon12">12</option>
</select>
<button id="set-mon">Set Month</button>