2011-10-21 3 views
2

次のような機能が既に存在するかどうか、またはページを編集できる場合はどうすれば新しいものを書くのかを調べようとしています 、私はそこにテキストボックスを持つテーブルを構築します。ページが編集可能かどうかに基づいてval()またはtext()の間でjqueryをフリップ

<td><input type="text" id="blah" ... > </td> 

otherwide:

<td id="blah">Sometext</td> 

、その後、私は、このテーブルの値に基づいて、別のテーブルを構築します。

はjqueryの で入力ボックスの値を取得するには、私が実行します。それ以外の場合は

$('#blah').val() 

$('#blah').text() 

Iフラグ(isEditableを)に基づいて機能を書きたい要素を返します.valまたは.text たとえば、

jquery.fn.getValue = function() { 
    if (isEditable){ 
     return $(this).val() 
    } 
    else { 
     return $(this).text() 
    } 
} 

および

$('#blah').getValue() 

と私はあなたが基本的にはすでにあったそのセルまたは入力ボックス

+0

どこか質問がありましたか? :P – jbabey

答えて

3

かどうかを気にしないだろう:私は行うことができるようになる

(function($) { 
    $.fn.getValue = function() { 
     switch(this.get(0).nodeName) { 
      case"INPUT": return this.val(); 
      break; 
      default: return this.text(); 
      break; 
     } 
    } 
})(jQuery); 
+0

絶対に!ありがとう。 – Bitmask

0

isEditable$(this).is('input[type=text]')

する必要があります
0

this.tagNameを使用して、要素が入力かtdかどうかを確認し、値またはテキストをその

関連する問題