jquery can't get the value from an input eleme

2019-08-12 15:42发布

I am using jquery trying to retrieve the value of a text input but it is not working. can anyone see what I am doing wrong? http://jsfiddle.net/silvajeff/4Sb8K/3/

<table id="oustandingItems">
  <tr><th>Category</th></tr>
  <tr><td><input name="mytest" /></td></tr>
  <tr><td><input name="mytest" value="123"/></td></tr>
  <tr><td><input name="mytest" /></td></tr>
  <tr><td><input name="mytest" /></td></tr>
</table>


<button id="findRow">Find Row</button>
<input type="text" id="myRow" />

$("#findRow").click(function() {   
  var tableRow = $('#oustandingItems tr:has(td input[value!=""])').prevAll().length;  
 var myValue = $('#oustandingItems input:has(td input[value!=""])').val();
  $("#myRow").val(myValue);
});

3条回答
地球回转人心会变
2楼-- · 2019-08-12 16:34

You can simplify your selector to #oustandingItems tr input[value!=""]

$("#findRow").click(function() {
  var myValue = $('#oustandingItems tr input[value!=""]').val();
  $("#myRow").val(myValue);
});

JSFiddle

查看更多
我欲成王,谁敢阻挡
3楼-- · 2019-08-12 16:40

You can try this one: http://jsfiddle.net/4Sb8K/6/

$("#findRow").click(function() {   
  var myValue = $('#oustandingItems').find('input[value!=""]').val();
  $("#myRow").val(myValue);
});
查看更多
Juvenile、少年°
4楼-- · 2019-08-12 16:40

Your selector to find the inputbox with value is wrong.

- var myValue = $('#oustandingItems input:has(td input[value!=""])').val();

+ var myValue = $('#oustandingItems input[value!=""]').val();

BTW, .val() method only returns the value of the first element, if your selector matches multiple elements. If you need to traverse all elements, use .each() method.

查看更多
登录 后发表回答