Reputation: 5784
Can you please take a look at above Demo and let me know why I am not able to grab .val()
of First Closest- Previous .txtfilename
element.
Please try to click On PDF btn to see the result
$(document).on("click", ".pdf-download", function(){
var targetFileInput = $(this).prev().closest(".txtfilename").val();
alert(targetFileInput);
});
HTML:
<div class="content hide">
<div class="form-group">
<input id="" name="txtfilename" type="text" placeholder="File Name" class="form-control input-md txtfilename" />
</div>
<div class="form-group" style="margin-top:10px !important;">
<div class="btn-group btn-group-sm">
<button type="button" id="chart1png" data-chart="chart1" class="btn btn-default text-center png-download">PNG</button>
<button type="button" id="chart1pdf" data-chart="chart1" class="btn btn-default text-center pdf-download">PDF</button>
<button type="button" id="chart1jpg" data-chart="chart1" class="btn btn-default text-center jpg-download">JPG</button>
</div>
</div>
</div>
Thanks
Upvotes: 0
Views: 22
Reputation: 82241
You have incorrect selector to target desired input element. use:
$(document).on("click", ".pdf-download", function(){
var targetFileInput = $(this).closest('.form-group').prev().find(".txtfilename").val();
alert(targetFileInput);
});
You can also use:
$(this).closest('.content').find(".txtfilename").val();
Upvotes: 2