2013-12-22 5 views
5

私はjQueryスクリプトとチェック入力に問題があります。jQueryはユーザーが入力をチェックできませんか?またはそのようなもの

enter image description here

そして、もう一つ確認入力があるあなたが見ることができるように:私はHTMLでこのようなウィンドウを持っています。この入力をクリックしようとすると(その近くのテキストではなく、入力時のみ)、スクリプトは正しく実行されますが、入力はチェックされません。

入力とテキストであるdivをクリックしたときに実行するスクリプトを作成しました。ここで

は、コードの一部です:なぜこれが起こっている

$('#S8l2560g').find('input').css('cursor', 'pointer').parent().css('cursor', 'pointer').toggle(function() { 
    //setCookie('Search information','hidden',168); 
    $('#k5ORgvNM span').text('yes, is checked').css('color', 'red'); 
    $(this).find('input').attr('checked', true); 
}, function() { 
    //setCookie('Search information','visible',168); 
    $('#k5ORgvNM span').text('no, is nonchecked').css('color', 'blue'); 
    $(this).find('input').attr('checked', false); 
}); 

私は知りません。私はこれがHTMLの問題だと思う。

私はこのパネル全体を切り取り、それをjsFiddleに貼り付けたので、それを確認することができます。ここで

はリンクです:http://jsfiddle.net/IdolwSzutrab7/sv7w5/

ただ入力するだけで、入力に近いテキストの後にクリックしてください。

私はトグルをコピーして、それを動かす前に動かそうと試みましたが、動作しませんでした。

スクリプトは機能するので大きな問題ではありませんが、クリックする回数が多くなりすぎて人を誤解させます。

enter image description here

私は助けを求めることができますか?私はそれが私がそれを望むように動作させたいです。特定の入力フィールドをターゲットに<label />代わりに持って

<label /><span />for属性を使用し@Musaによって示唆されるように

+0

。 –

+3

+0

を使用していない理由入力フィールドではなく、親の「div」要素を入力するイベントを受信して​​います。それはなぜチェックしていないthats! –

答えて

1

。ラベルをクリックすると、入力要素がフォーカスされます。

注:<input id="label-check" />の入力値は、値の場合は<label for="label-check">と同じでなければなりません。

HTML:

<label for="label-check"> 
    <input type="checkbox" id="label-check" style="vertical-align: middle;"/> Nie pytaj więcej... 
</label> 

JS:

$('#S8l2560g').find('input').css('cursor', 'pointer').change(function(e) { 
     if ($(this).is(':checked')) { 
      $('#k5ORgvNM span').text('yes, is checked').css('color', 'red'); 
      $(this).prop('checked', true); 
     } 
     else { 
      $('#k5ORgvNM span').text('no, is nonchecked').css('color', 'blue'); 
      $(this).prop('checked', false); 
     } 
    }); 

CSS:私のために動作しません

label { 
    cursor: pointer; 
} 

LIVE EXAMPLE

+0

はprop()でなければなりませんか? –

+0

'toggle'イベントの前に' toggle'イベントと 'parent()'メソッドもありません。 –

+0

change()内の関数(e)とは何ですか? –

関連する問題