2012-04-18 5 views
0

複数のdivがあり、各divにはテキストボックスとラベルがあります。Javeryの現在のラベルを取得して入力します

例えば
$(function() { 
    $('input:text').focus(function() { 
    //how do I get the current label and populate with some text? and when clicking on a 
    //different textbox, I want to clear the previous label and just show the current 
    //div's label with some data 
}); 
}); 

:テキストボックスは、これまで.focus

スクリプトにあるとき、私はラベルにテキストを移入する必要があります

<div> 
    @Html.TextBoxFor(model => model.Title) 
    <label> 
    </label> 
</div> 
<div> 
    @Html.TextBoxFor(model => model.Name) 
    <label> 
    </label> 
</div> 
<div> 
    @Html.TextBoxFor(model => model.Address) 
    <label> 
    </label> 
</div> 

thx!

答えて

2

の作業例:

http://jsfiddle.net/KhQtx/

HTML:

<div> 
    <input type="text" title="Tittle" value=""/> 
    <label> 
    </label> 
</div> 
<div> 
    <input type="text" title="Name" value=""/> 
    <label> 
    </label> 
</div> 
<div> 
    <input type="text" title="Address" value=""/> 
    <label> 
    </label> 
</div>​ 

JS:div要素のidを与えるために必要な

$('input:text').focus(function() { 
    // clean label 
    $('input:text').next('label').html(""); 

    // get input title 
    var title = $(this).attr('title');    

    // add html to label from input title 
    $(this).next('label').html(title); 
});​ 
+0

あなたは本当にスクリーンショットを投稿する必要はありません。私たちのブラウザはページをうまくレンダリングします。 – Blazemonger

+0

それは本当に、本当に時々失敗すると信じています。私は以前の質問に多くのコードで答えました。私はすべてのコードをフォーマットする時間を無駄にします。 –

+0

実際のコードを置くのは、人々が簡単にコピーして貼り付けることができる点です。また、明日あなたの画像ホスティングサービスがそこにあるという保証はありません。あなたがしなければならないことは、SOに組み込まれているコードフォーマットツールを使うことです。 – Blazemonger

0
$(function() { 
    $('input:text').focus(function() { 
     $(this).siblings('label').empty().html('what you want..'); 
    }); 
}); 
0

あなたは使用することができparentfind

var label = $(this).parent().find('label') 
0

試してみてください。

$('input:text').focus(function(){ 
    $(this).next().text('text here'); 
}); 
0
$('input:text').focus(function() { 
    $('input:text').next('label').html(""); // reset all first 
    $(this).next('label').html("Your text here"); 
}); 

See here

0
$(function() { 
    $('input:text').focus(function() { 
    // To put textboxvalue in label 
    $($(this).parent().find('label')).val($(this).val()); 
    // To put customvalue in label 
    $($(this).parent().find('label')).val("Hi i am a label"); 
}); 
}); 
0
$(function() { 
    $('input:text').focus(function(e){ 
     $('div label').text(""); 
     $(this).next('label').text('SomeText'); 
    }); 
});​ 

Example.

注:あなたがあなたのdivにクラス名を割り当て、より良いあなたが避けることができます

 $('div.parentDiv label').text(""); 
     $(this).next('label').text('SomeText'); 

のようなあなたの選択を絞り込むことができ

<div class="parentDiv"> 
    <input type="text" id="Title" /> 
    <label></label> 
</div> 

を次のようになります他のdivのラベルは空ではありません。あなたのために作ら

+0

はありません。 "this"を使用すると、現在フォーカスのテキストボックスになります。親セレクタを使用すると、現在フォーカスのあるテキストボックスdivを取得し、次にfindを使用してラベルを取得します。したがって、他のすべてのラベルには反映されません。 –

+0

あなたは実際の質問を理解しておらず、私の例も見ていないと思います。あなたの答えの中の他のラベルをどうやってクリアーしますか?私の例を見て、私が言ったことを理解しようとする。 –

+0

それは私の誤解でした。しかし、まだ各部門にIDを与える必要はありませんでした。各ラベルにクラス名を付けることで簡単に達成できます。ラベルに値を割り当てる前に、すべてのラベルをクリアします。たとえば、

とフォーカス機能上の最初の行は$( "label.Clear")です。 ( "") –

関連する問題