Выберите элемент по части имени jQuery - PullRequest
0 голосов
/ 01 июля 2018

Мне нужно проверить, установлен ли флажок, дело в том, что флажок имеет имя и идентификатор, и я не могу использовать их, так как это сайт sharepoint, и имя и идентификатор могут быть изменены после того, как новый элемент введен в страница. Что мне делать?

<tr>
    <td nowrap="true" valign="top" width="190px" class="ms-formlabel"><h3 class="ms-standardheader">
    <nobr>All employees in department</nobr>
</h3></td>
    <td valign="top" class="ms-formbody">
    <!-- FieldName="All employees"
         FieldInternalName="All_x0020_employees_x0020_in_x00"
         FieldType="SPFieldBoolean"
      --> 
 <span dir="none">
    <input id="ctl00_m_g_49618ec6_4999_44aa_87e7_6087a1cf4a6f_ctl00_ctl05_ctl00_ctl00_ctl00_ctl04_ctl00_ctl00_BooleanField" 
    type="checkbox" name="ctl00$m$g_49618ec6_4999_44aa_87e7_6087a1cf4a6f$ctl00$ctl05$ctl00$ctl00$ctl00$ctl04$ctl00$ctl00$BooleanField" /><br />
</span>
        select employees !

    </td>

Ответы [ 2 ]

0 голосов
/ 01 июля 2018

Использовать селектор jQuery, когда атрибут начинается с некоторой строки

$( "input[name^='ctl00']" ).is( ":checked" )
0 голосов
/ 01 июля 2018

Вы можете использовать javascript querySelector() и селектор CSS, например,

if (document.querySelector('input').checked) {
  // checked, so do something
}

И если вам нужен только input в td с классом ms-formbody, как это

if (document.querySelector('td.ms-formbody input').checked) {
  // checked, so do something
}

Кроме того, если вы знаете, например, начало name всегда будет одинаковым, вы можете использовать start with селектор атрибута [attribute^="value"]

if (document.querySelector('input[name^="ct100"]').checked) {
  // checked, so do something
}

или, если будет конец name, используйте end с селектором атрибута [attribute$="value"]

if (document.querySelector('input[name$="BooleanField"]').checked) {
  // checked, so do something
}

Для jQuery используйте метод .prop() в сочетании с любым из указанных выше селекторов

if ($( "selector" ).prop("checked")) {
  // checked, so do something
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...