Получить текст флажка с помощью JQuery

<input type="checkbox" name="PrePayment">Pre-Payment<br />

Как мне получить текст "Pre-Payment" из этого с помощью JQuery?

Спасибо!

Ответы

Ответ 1

Вероятно, у вас должен быть атрибут value.

<input type="checkbox" name="PrePayment" value="Pre-Payment">Pre-Payment<br />

Затем вы можете просто использовать команду attr:

$(input).attr('value');

Ответ 2

Я бы порекомендовал разместить текст внутри тега <label>, чтобы вы могли щелкнуть по нему (и чтобы читатели экрана и такие могли понять вашу форму):

<input type="checkbox" name="PrePayment" id="pre-payment">
<label for="pre-payment">Pre-Payment</label>
<br />

Затем все становится легко:

var text    = $('label[for=pre-payment]').text();
var or_this = $('#pre-payment').next('label').text();

Я бы предпочел первый вариант, label[for=...], так как он менее хрупкий, чем второй

Ответ 4

Проверьте приведенный ниже пример, и вы получите script, как получить метку флажка в jQuery

<html>
 <body>
     <ul>
         <li>
             <input type="checkbox" name="mouse" value="1" id="mouse"  /><label for="mouse">Mouse</label>
            </li>
            <li>
             <input type="checkbox" name="keyboard" value="1" id="keyboard"  /><label for="mouse">Keyboard</label>
            </li>
            <li>
             <input type="checkbox" name="monitor" value="1" id="monitor"  /><label for="mouse">Monitor</label>
            </li>
        </ul>
    </body>
</html>

<script type="text/javascript">
 var label = jQuery('label[for=' + jQuery(this).attr('id') + ']').html();
 alert(label);
</script> 

Код, взятый по этой ссылке: http://chandreshrana.blogspot.in/2015/09/how-to-get-checkbox-label-text-jquery.html

Ответ 5

У меня была похожая проблема с этим - другой способ сделать эту работу (с HTML5) - это использовать атрибуты данных.

Например, вы можете установить атрибут данных следующим образом:

<input type="checkbox" name="PrePayment" data-text="Pre-Payment">Pre-Payment<br />

Затем вы можете прочитать этот атрибут данных, используя следующий jQuery:

$(input).data('text');

Преимущество этого состоит в том, что при необходимости вы можете иметь отдельный параметр значения.