2012-02-08 15 views
0

に入れるは、私は次のコードを持っているjQueryを使ってテキストやチェックボックスの値の取得と変数

function updateField(entity, obj, type) { 
    var val = obj.val(); 
    var idArr = obj.attr("id"); 
    var idTmp = idArr.split("_"); 
    var id = idTmp[1]; 
    var pkrk = $("span[id='refKey_" + id + "']").html(); 

問題がされコードはテキストには効果がありますが、チェックボックスでは機能しません。チェックボックスがチェックされている場合、trueを返します。チェックボックスがチェックされているかどうかをチェックし、変数valに文字列 "true"または "false"を入れて、日付が日付から来ていれば正しい値をvalに入れておくという方法がありますか? Order_?

So if the value of Order_ field is 25 then val = "25" 
So if the value of Default_ checkbox is true the val = "true" 
So if the value of Default_ checkbox is false the val = "false" 
+1

重複? http://stackoverflow.com/questions/3064629/get-value-of-a-checkbox – iblue

+0

リンクありがとうございます。私は自分の状況が何とか違うと思うのですが、それがチェックボックスかテキストフィールドかどうかを判断する必要があり、その決定に基づいて値を取得するには別の方法が必要です。 – Jessica

答えて

2

問題は、チェックボックスに「値」がないことです。 jQueryで属性を使用する代わりに、属性「checked」を検索します。属性が含まれているdoesntのチェックボックスタグは「確認」のであればattr()関数は未定義戻ります

var checked = !!$("checkbox selector").attr("checked"); 

または使用してjQueryのセレクタ

var checked = $("checkbox selector").is(":checked"); 

を、それは同じです: これは、次のような行うことができますチェックボックスのチェックされていない状態です。

+0

'!!'が "truthy/falsy"から実際のブール値になるためには+1。 – pete

+0

しかし、私はこれをvalと呼ばれる変数に入れたいと思います。チェックボックスやテキストフィールドの場合は、別のロジックが必要です。 updateFieldに渡されたobjの値をチェックし、オブジェクトの種類によって異なる何かを行う方法はありますか? – Jessica

+0

@Jessica 'obj.attr(" type ")===" checkbox "'を使って、現在ハンドリングしているチェックボックスがあるかどうかを調べることができます(そして関数の引数型が作成するconfiusionに注意してください)。 –

関連する問題