-2

文字列値を最初の空のテキストボックスに入れる関数を作成しようとしています。例: 5 つのテキスト ボックスがあります。Textbox0.val()="1", Textbox1.val()="2", Textbox2.val()=nullOrEmpty, Textbox3.val()="3". に文字列値を入れたいtextbox2

これは私のコードです:

function textb() {
    var j = 0;
    for (var i = 0; i < parseInt($("#lengthClub").val()) ; i++) {
        var t = $("#textbox" + i);
        if ( t.value() == null) {
            j = i;
            break;
        } 
    }
    return j;
}

$(document).ready(function () {       
    $("#button0").click(function () {
    // $("#textbox0").value += "1";
    $("#textbox"+textb()).val("1");
});

しかし、プログラムは "1" だけを に入れtextbox0ます。手伝って頂けますか?

4

3 に答える 3

1

ここには 2 つの問題があります。

  1. テキストボックスには常に、少なくとも空の文字列の値があります - ""; したがって、null をチェックすることはできません。
  2. .value()メソッドではありません。を使用する必要があります.val()

次のコードはあなたのために働くはずです:

if (t.val() == "") {
    j = i;
    break;
} 

.valueおそらく、javascript オブジェクトのオプションに関する 2 番目の間違いで混乱したことでしょう。jQuery オブジェクトから JavaScript オブジェクトを取得する必要がある場合は、次を使用できます。

var t = $("#textbox" + i)[0];
var t2 = $("#textbox" + i).get(0);

if (t.value == "") {
    j = i;
    break;
} 
于 2013-09-16T12:40:36.133 に答える