0

以下の私のスクリプトの何が問題になっているのか、誰かアドバイスしてもらえますか?

クラス名に#objecが含まれる最後のDIVを検索し、次にDIV内の最後の入力要素を検索してから、ID/名前が既に増加している新しいDIVを追加します。私はこれが間違っている行だと思います:

var name = $("#objec:last>input").attr("name");

コードはここにあります:http://jsfiddle.net/mtait/9MbQH/6/

...以下。

ありがとうございました、

マーク

<label id="add_tag"> 
     Click me to add a new row
</label> 


<div class="objec">
    <div class="row">
        <div class="span4">
            <input class="span4" data-val="true" data-val-required="Objective&#32;is&#32;required" id="Objectives_7__objective" name="Objectives[7].objective" type="text" value="Timecard Completion" />
        </div>
     </div>
</div>


$(document).ready(function() {
var re = /\[(.*?)\]/;
$("#add_tag").click(function() {
    var name = $("#objec:last>input").attr("name");
    var m = re.exec(name);
    var itemNumber = parseInt(m[1]) + 1;
    var $newdiv1 = $('<div class="objec"><div class="row"><div class="span4"><input class="span4" data-val="true" data-val-required="Objective&#32;is&#32;required" id="Objectives_' + itemNumber + '__objective" name="Objectives[' + itemNumber + '].objective" type="text" value="..." /></div></div>');
    $(".objec:last").after($newdiv1);
    return false;
});
});
4

3 に答える 3

1

このタイプの使用法は ID です。objec が ID の場合、以下を使用できます

 $("#objec:last>input")

あなたの場合、そのクラス名

だから試してみてください

  $(".objec")
于 2012-07-19T14:12:06.187 に答える
0

おそらくあなたはこれが欲しい:

var name = $(".objec:last input").attr("name");

ライブデモ

子孫コンビネータ子コンビネータの違いについて読んでください。

于 2012-07-19T14:13:30.743 に答える
0

私が間違っていなければ、「。」を使用することになっていると思います。クラスとIDを参照するときのセレクター。ex/ $(".objec:last>input").attr("名前");

于 2012-07-19T20:54:12.843 に答える