u_muthy
u_muthy

Reputation: 9

How to get data value of one input field from a list?

How can I get the value of the first input field from a list?

<button id="hello">get data</button><br><br>
   <table> <td><label for="voucher_<?php echo $counter; ?>">D/N Number <?php echo $counter; ?></label><br>
    <input type="text" name="voucher_<?php echo $counter; ?>" class="input-field exsmall-input" value="<?php echo $voucher; ?>" placeholder="D/N Number" id="voucher_<?php echo $counter; ?>" required>
    </td></table>

When I run the above code the number of rows varies depending on the counter.If I want to get the value of the first DN number ,what shall I do ?

$(document).ready(function(){
    $('#hello').click(function(){
          var name = $("#voucher").val();
        alert(name);
    });
});

When I run this javascript I get undefined vales.

Upvotes: 2

Views: 233

Answers (3)

Satish
Satish

Reputation: 726

Try this:-

$(document).ready(function() {
    $('#hello').click(function() {
        var name = $('table').find('input[type=text]').filter(':visible:first')
            .val();

    });
});

Upvotes: 0

Milind Anantwar
Milind Anantwar

Reputation: 82251

The reason you are getting the error is because you have used wrong selector to target input element. input element do not have id voucher. You need to put the ID to make existing code work.

Or, You can use attribute starts with selector here from current HTML:

 $('#hello').click(function(){
      var name = $("input[name^='voucher_']").val();
      alert(name);
});

Upvotes: 1

Death-is-the-real-truth
Death-is-the-real-truth

Reputation: 72269

You can do it like below:-

$(document).ready(function(){
    $('#hello').click(function(){
          var name = $("div[id^='voucher']:visible:first").val();
        alert(name);
    });
});

Or:-

$(document).ready(function(){
    $('#hello').click(function(){
          var name = $("input[type=text]:visible:first").val();
        alert(name);
    });
});

Upvotes: 0

Related Questions