Aleksi
Aleksi

Reputation: 115

Append numbers to input field with jQuery

I need to copy numbers from package-size div between "/" and "pcs" characters and paste them to input value. In this case number is 100. Is that possible?

Following code works if we have only numbers inside package-size div.

How about if I have multiple product divs?

<div class="product">
  <div class="package-size">1/100 pcs.</div>
  <input type="number" value="1" />
</div>

$( ".package-size" ).val(function() {
  var text = $( this ).text();
  $( "input" ).val( text );
});

Update 1:

<div class="product">
  <div class="package-size">
    <p>1/100 pcs.</p>
  </div>
  <div>
    <span>
      <input type="number" value="1" />
    </span>
  </div>
</div>

Update 2:

<div class="product">
  <div class="package-size">
    <p>1/100 pcs.</p>
  </div>
  <div>
    <span>
      <input type="number" value="1" />
    </span>
  </div>
</div>

<div class="product">
  <div class="package-size">
    <p>200 pcs.</p>
  </div>
  <div>
    <span>
      <input type="number" value="1" />
    </span>
  </div>
</div>

Upvotes: 0

Views: 712

Answers (1)

Arun P Johny
Arun P Johny

Reputation: 388316

You need to find the input element using relative positioning

$(".package-size").each(function () {
    var text = $(this).text();
    $(this).next("input").val(text.match(/\/(\d+)/)[1]);
});

Demo: Fiddle

Upvotes: 4

Related Questions