2016-05-19 6 views
0

1つのチェックボックスから2つの異なる値を返す必要があります。私はオブジェクトを試しましたが、結果は未定義です(コードは1つの値で動作します)。チェックボックスに2つの値を割り当てるjavascript

' <input type="checkbox" id="cat" value="'+{value1: data.blue, value2: data.red} +'"/>' 

result.value1は常に文字列だけではなく結果として機能します。

javascript/jqueryを使用してこれを行う最善の方法は何ですか。

答えて

3

をvalue1をする必要があります。

<input type="checkbox" id="cat" data-value1="blue" data-value2="red" value=""/> 

はjQueryの使用を使用して値を取得します。

$("#cat").data("value1");//return 'blue' 
$("#cat").data("value2");//return 'red' 

結果:https://jsfiddle.net/cmedina/a0ya5bwp/

-1

あなたはスペルの間違いを持っ​​ているように見えます:vaule1はあなたがattrを使用するため、たとえば、複数の値を追加することができます

+0

編集しました。変数をより明確にするために変数の名前を変更しました。 – user1212520

+0

スペルミスを発見するための素晴らしいdownvote ... –

0

なぜ をvalue1の\ tの値2

状セパレータ 何かで文字列を作成していないそして、あなたはちょうどこのセパレーターを検索し、2貴様の値を取得するには、文字列をカットする必要がありますか?

+0

ありがとう、これは私の元の計画でしたが、私は私のテストオブジェクトが動作すると思った。オブジェクトが最も簡単なルートになります(動作する場合)。 – user1212520

0

オブジェクトをストリング化し、その値をデータ属性として入力属性ハンドラに入力し、文字列をJSONに解析することができます。

HTML

<input type="checkbox" id="cat" name="cat"> 
<label for="cat">Cat</label> 

Javascriptを

var input = document.getElementById('cat'); 
var testValue = {value1: 'blue', value2: 'red'}; 

input.setAttribute('data-value',JSON.stringify(testValue)); 

input.addEventListener('change', function(event) { 
    var inputValue = JSON.parse(event.target.getAttribute('data-value')); 
    console.log(inputValue); 
}); 

デモ:JSFiddle

関連する問題