2017-06-05 13 views
0

jquery属性。 jqueryのjsの

$(".dum").click(function() { 
 
    document.getElementById("ev").value=$(this).attr("data-name"); 
 
\t \t \t 
 
    $("#test-form").dialog("open"); 
 
});
// this is just the test 
 
    
 
    
 
cell2.innerHTML = '<span class="dum" style="color:'+testvalues[i]+'; font-size:20px;">'+testvalues[i + 2] || ''+'data-name=" '+testvalues[i+2] +'">'+ '</span>'; 
 

 

 
<div id="test-form" title="Event Information"> 
 
\t <p>Event:</p> 
 
\t <input id= "ev" type="text" name="fullname" disabled /> 
 
</div>

私は、DBからの値を持つ<span>を持っています。そして私はjquery attrを使ってこれらの値を入力ボックスに入れようとしていますが、私は未定義になっています。 attr名は "data-name"です。ここで間違っていることは分かりません。私はどんな助けにも非常に感謝しています。

+0

jqueryのを使用し、あなたが追加されているspanタグは 'あなたが'>余分**を持ってテスト – karthick

+2

と呼ばれるクラスを持っていません** – charlietfl

+0

charlietfl、余分なのは>です。私は助けてください – david

答えて

1

第一:あなたはspan

第二を書き換える必要があります:あなたは、これは、例えば

$(document).ready(function(){ 
 
    var testvalues = ['red','no','Click Me','name'], 
 
     i = 1; 
 
    $('#cell2').html('<span class="dum" style="color:'+testvalues[i]+'; font-size:20px;" data-name="'+testvalues[i+2] +'">'+testvalues[i+1] +'</span>'); 
 

 
    $(document).on('click' , ".dum" , function() { 
 
    $("#ev").val($(this).data("name")); \t 
 
    //$("#test-form").dialog("open"); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
<div id="cell2"></div> 
 

 
<div id="test-form" title="Event Information"> 
 
    <p >Event:</p> 
 
    <input id= "ev" type="text" name="fullname" disabled /> 
 
</div>

です Event binding on dynamically created elements?

を必要とします

注:私は純粋なJSとjQueryの混合好まないので、私は

+0

Mohamed-Yousefあなたは2つのawesomeeeeeeeeeeeeeeeeeeeeeeeeeeeです!大きな助けのためにthx: – david

+0

あなたは大歓迎です@ダヴィド..素敵な一日:-) –

+0

あまりにもthxxxxxx。 – david

-1

代わりにjQueryデータ属性を使用してください。

document.getElementById("ev").value=$(this).data("name"); 
+0

'attr( 'data-name')'が動作しない場合、これはうまくいかない理由はありません – charlietfl

+0

attr( 'data-name')、私は定義されていません。 – david

+0

私はあなたのコードを使ってこれをテストしましたが、データ検索に成功しました。あなたの問題はあなたが提示したコードにないと思います。他の場所にバグが導入されている可能性はありますか? – Korgrue

0

あなたが挿入しているspanを確認してください。私は問題がjQueryに関連しているとは考えていませんが、実際にはdata-nameという属性を記述しているわけではありません。 innerHTML||は何ですか?そのため、||のため、文字列の最初の部分(すべて左にある)と右にない部分(data-name属性)のみを書きます。

+0

ダニー私は削除しました||タグとそれは完璧に働いた。テーブルに "データ名"を書く。私はクラス( "ダム")でテーブル要素をクリックしたときにのみattr値を表示しようとしていた – david