Отображение всплывающей подсказки, когда пользователь наводит на ярлык переключателя в JQuery - PullRequest
1 голос
/ 20 октября 2011

У меня есть несколько переключателей в форме:

<div id="data_id-block">
<dt id="data_id-label"><label class="required">Data</label></dt>
<dd id="data_id-element">
    <label for="data_id-1">
        <input type="radio" name="data_id" id="data_id-1" value="1" />test 1
    </label><br />
    <label for="data_id-2">
        <input type="radio" name="data_id" id="data_id-2" value="2" />test 2
    </label><br />
    <label for="data_id-4">
        <input type="radio" name="data_id" id="data_id-4" value="4" /> Test Data
    </label><br />
    <label for="data_id-5">
        <input type="radio" name="data_id" id="data_id-5" value="5" /> Second Test Data
    </label><br />
    <label for="data_id-6">
        <input type="radio" name="data_id" id="data_id-6" value="6" />Unassigned
    </label>
</dd>

Я пытаюсь отобразить всплывающую подсказку, когда пользователь наводит курсор на ярлык переключателя. Я могу сделать это, но я также хочу получить все, что находится в свойстве 'value' переключателя. Мои попытки привели к тому, что возвращалось только «значение» переключателя, независимо от того, над каким переключателем был установлен курсор.

Ценю помощь.

Ответы [ 2 ]

1 голос
/ 20 октября 2011
//this is just one way to register to the window.onLoad event in jQuery, i prefer it's readability for what is going on    
$(document).ready(function(){
//$("something", "something else") - 'Something Else' limits where jQuery searches for 'something'
// .hover( function A , function B ) - function A is the mouseover event, function B is the mouseleave event
// function(event){}  for All events, jQuery will always pass an "event" parameter if you ask for it on the window .event() registration.  cool stuff you can do with jQuery's "event" parameter can be found here in the references below.
      $("label", "#data_id-element").hover(function(event){
// $(this)  jQuery'itize the html Element the user hovered into 
// .attr("for") - get the value of the 'for' attribute
// $("#" + whatever) - get whatever this is by its id='' attribute
// .val()  - get the value of whatever this is
         var radioValue = $("#"+$(this).attr("for")).val();
      }, 
      function(event){
// $(this)  jQuery'itize the html Element the user hovered out of
// .attr("for") - get the value of the 'for' attribute
// $("#" + whatever) - get whatever this is by its id='' attribute
// .val()  - get the value of whatever this is
        var radioValue = $("#"+$(this).attr("for")).val();
      });

    });
1 голос
/ 20 октября 2011

Если я вас правильно понял, вы хотите получить значение переключателя, связанного с label, когда вы наводите курсор на label.Если это так, попробуйте что-то вроде этого:

$("label").mouseover(function() {
    var radioButtonValue = $(this).find("input").val(); 
});

Вот рабочий пример .

...