0

やあ、私は Jquery に問題があります。値から要素の ID を取得する必要があります。最大値を持つ要素の ID を見つける必要があります。

 var M = Math.max($("#textbox1").val(), 
         $("#textbox8").val(),
         $("#textbox15").val(),
         $("#textbox22").val(),
         $("#textbox29").val(), 
         $("#textbox36").val(), 
         $("#textbox43").val(), 
         $("#textbox50").val());

ここで、textbox1 の最大値を取得し、その値を M で取得するとします。

ここで、M の値に応じて要素の ID を見つけ、そのテキスト ボックスの色を変更する必要があります。どうやってするの?このようにしていますが、機能していません:

var pp = $(this).attr(M, 'id');
4

3 に答える 3

2
var id = $('input:text').filter(function(){
    return this.value === M.toString();
}).prop('id');
于 2013-06-14T07:42:08.183 に答える
0

属性 equals セレクター( )を使用できます[name="value"]。次の HTML 値があるとします。

<input id="textbox1" value="2" />
<input id="textbox2" value="5" />
<input id="textbox3" value="3" />

最大値 (この場合は textbox2) を持つ要素の ID を取得するには、次のようにします。

var M = 5; /* As calculated */
$('input[value="' + M + '"]')[0].id; /* textbox2 */

JSFiddle の例

属性を選択すると、を使用するよりも 80% 以上高速filter()であることに注意してください。


また、テキスト ボックスの色を変更するのにも IDは必要ありません。上記のセレクターを再度使用できます。

$('input[value="' + M + '"]').css({
    color: '#f00'
});

この変更されたJSFiddle デモを参照してください。

于 2013-06-14T07:43:14.630 に答える
0

少し複雑ですが、最大値がある場合は、すべてのテキストボックスを取得し、その値を持つものでフィルターして色を変更できます。

$('input[type="text"]').filter(function(index) {
    return $(element).val() == M
}).css('background-color', 'red');
于 2013-06-14T07:46:21.437 に答える