1

テキスト入力の値を取得しようとしてjqueryを使用していますが、機能していません。誰かが私が間違っていることを見ることができますか? 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);
});
4

3 に答える 3

2

セレクターを次のように単純化できます#oustandingItems tr input[value!=""]

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

JSFiddle

于 2013-01-15T07:52:00.473 に答える
0

これを試すことができます:http://jsfiddle.net/4Sb8K/6/

$("#findRow").click(function() {   
  var myValue = $('#oustandingItems').find('input[value!=""]').val();
  $("#myRow").val(myValue);
});
于 2013-01-15T07:54:25.230 に答える
0

値のある入力ボックスを見つけるためのセレクターが間違っています。

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

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

ところで、セレクターが複数の要素に一致する場合、.val() メソッドは最初の要素の値のみを返します。すべての要素をトラバースする必要がある場合は、.each() メソッドを使用します。

于 2013-01-15T07:58:07.683 に答える