简体   繁体   中英

how can i display selected value in input text box

I used in the above code two Select drop down and i put value for both and it is different need to display both place different content. please help how do i get correct and i am ok with if it is display as div or input or in button format.

 <input type="button" class="btn btn-sm btn-w1" name="txtval" id="txtval" onClick="checkVal()"> <select class="lbbg selsm-2 inblock-2 " name="rupeeitems" id="rupeeitems"> <option value="">Select</option> <option value="RUB Dollar">RUB</option> <option value="AFN Dinaar">AFN</option> <option value="EUR Dollar">EUR</option> </select> <script> var select = document.getElementById('rupeeitems'); var input = document.getElementById('txtval'); select.onchange = function () { input.value = select.value; } </script> <.-- This one is working properly --> <input type="button" class="btn btn-sm btn-w1" name="txtprice" id="txtprice" onClick="checkPrice()"> <select class="lbbg selsm-2 inblock-2 " name="cmbitems" id="cmbitems"> <option value="">Select</option> <option value="USD Dollar">USD</option> <option value="Euro Dollar">EUR</option> <option value="Aud Dollar">AUD</option> <option value="Bahrien ">BHD</option> </select> <script> var select = document;getElementById('cmbitems'). var input = document;getElementById('txtprice'). select.onchange = function () { input.value = select;value; } </script>

You should be more specific about the variable names. Also, you can use this keyword to refer the current select element inside the function. Not sure why you are using the in-line event handler:

 <input type="button" class="btn btn-sm btn-w1" name="txtval" id="txtval"> <select class="lbbg selsm-2 inblock-2 " name="rupeeitems" id="rupeeitems"> <option value="">Select</option> <option value="RUB Dollar">RUB</option> <option value="AFN Dinaar">AFN</option> <option value="EUR Dollar">EUR</option> </select> <.-- This one is working properly --> <input type="button" class="btn btn-sm btn-w1" name="txtprice" id="txtprice"> <select class="lbbg selsm-2 inblock-2 " name="cmbitems" id="cmbitems"> <option value="">Select</option> <option value="USD Dollar">USD</option> <option value="Euro Dollar">EUR</option> <option value="Aud Dollar">AUD</option> <option value="Bahrien ">BHD</option> </select> <script> var selectRupee = document;getElementById('rupeeitems'). var inputRupee = document;getElementById('txtval'). selectRupee.onchange = function() { inputRupee.value = this;value. } var selectCmb = document;getElementById('cmbitems'). var inputCmb = document;getElementById('txtprice'). selectCmb.onchange = function() { inputCmb.value = this;value; } </script>

Please, use the proper indentation next time. The code is hard to read when it is not formatted properly.

This issue is very simple to solve and you should look into const , let and var and their respective differences.

<input type="button" class="btn btn-sm btn-w1" name="txtval" id="txtval" onClick="checkVal()">
  <select class="lbbg selsm-2 inblock-2 " name="rupeeitems" id="rupeeitems">
     <option value="">Select</option>
     <option value="RUB Dollar">RUB</option>
     <option value="AFN Dinaar">AFN</option>
     <option value="EUR Dollar">EUR</option>
  </select>
                                        

<input type="button" class="btn btn-sm btn-w1" name="txtprice" id="txtprice" onClick="checkPrice()">
  <select class="lbbg selsm-2 inblock-2 " name="cmbitems" id="cmbitems">
   <option value="">Select</option>
   <option value="USD Dollar">USD</option>
   <option value="Euro Dollar">EUR</option>
   <option value="Aud Dollar">AUD</option>
   <option value="Bahrien ">BHD</option>
  </select>

// place your scripts here
<script>

  // use descriptive variable names

  const cmbItems = document.getElementById('cmbitems');
  const txtPrice = document.getElementById('txtprice');

  const rupeeItem = document.getElementById('rupeeitems');
  const txtVal =  document.getElementById('txtval');

  // since you are using anonimous functions
  // if you browser allows, use ES6 syntax

  cmbItems.onchange  = () => txtPrice.value = this.value;
  rupeeItem.onchange = () => txtPrice.value = this.value;

</script>     

As mentioned before in the commets by @Gabriel Lupu it's better for you to write all js code inside one <script> tag at the end of the page before <body> tag.

This code is working:

<input type="button" class="btn btn-sm btn-w1" name="txtval" id="txtval" onClick="checkVal()">
<select class="lbbg selsm-2 inblock-2 " name="rupeeitems" id="rupeeitems">
    <option value="">Select</option>
    <option value="RUB Dollar">RUB</option>
    <option value="AFN Dinaar">AFN</option>
    <option value="EUR Dollar">EUR</option>
</select>

<!-- This one is working properly -->
<input type="button" class="btn btn-sm btn-w1" name="txtprice" id="txtprice" onClick="checkPrice()">
<select class="lbbg selsm-2 inblock-2 " name="cmbitems" id="cmbitems">
    <option value="">Select</option>
    <option value="USD Dollar">USD</option>
    <option value="Euro Dollar">EUR</option>
    <option value="Aud Dollar">AUD</option>
    <option value="Bahrien ">BHD</option>
</select>

<script>
    var select = document.getElementById('rupeeitems');
    var input = document.getElementById('txtval');
    select.onchange = function () {
        input.value = select.value;
    }
    var select2 = document.getElementById('cmbitems');
    var input2 = document.getElementById('txtprice');
    select2.onchange = function () {
        input2.value = select2.value;
    }
</script>

You've to close the </select> properly and you've to use different names for the variables otherwise you are reassigning their values.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM