Радио Bootstrap 3 требует двойного нажатия

Я просто сам это сделал. Чтобы обеспечить переносимость вашего скрипта, всегда начинайте его с:

wd <- setwd(".")
setwd(wd)

Это работает, потому что «.» переводится как команда Unix $ PWD. Присвоение этой строки объекту-символу позволяет затем вставить этот объект-символ в setwd () и Presto , ваш код будет всегда запускаться с его текущим каталогом в качестве рабочего каталога, независимо от того, на чьей машине он включен или где в файловой структуре он находится. (Дополнительный бонус: wd-объект может использоваться с file.path () (то есть file.path (wd, «output_directory»), чтобы создать стандартный выходной каталог независимо от пути к файлу, ведущего к вашей именованной директории. Это требует, чтобы вы создали новый каталог, прежде чем ссылаться на него таким образом, но этому тоже может помочь объект wd.

В качестве альтернативы следующий код выполняет то же самое:

wd <- getwd()
setwd(wd)

или, если вам не нужен путь к файлу в объекте, вы можете просто:

setwd(".")
0
задан PhilPhil 6 February 2019 в 08:56
поделиться

1 ответ

Вы просто дважды вызываете переключатель начальной загрузки; один в вашем файле main.js как;

$("input[type=\"checkbox\"], input[type=\"radio\"]").not("[data-switch-no-init]").bootstrapSwitch();

Второй в вашем index.js, который вы сделали для стекаблиц для каждой радиокнопки. Поэтому, когда вы пытаетесь переключить радио, событие изменения срабатывает дважды.

Для решения:

Я просто закомментировал строку начальной загрузки в файле main.js , чтобы не потерять контроль над радиостанциями и для простейшего использования обновите файлы index.html и index.js , как показано ниже;

Index.html

<table class="overall-table" align="center">
   <thead></thead>
   <tbody>
     <tr>
        <td><th>Choice: None / Add / Dis:&nbsp;</th></td>
        <td></td>
        <td>
           <input id="cbox1" name="GroupedSwitches" class="bootstrap-switch" type="radio" data-off-text="OFF" data-on-text="ON" checked="true" value="none">
           <input id="cbox2" name="GroupedSwitches" class="bootstrap-switch" type="radio" data-off-text="OFF" data-on-text="ON" checked="false" value="add">
           <input id="cbox3" name="GroupedSwitches" class="bootstrap-switch" type="radio" data-off-text="OFF" data-on-text="ON" checked="false" value="dis">
        </td>
      </tr>
   </tbody>
</table>

[ 1115] Index.js

$( document ).ready(function()
{
    $(".bootstrap-switch").bootstrapSwitch({
        'size': 'midi',
        'onSwitchChange': function(event, state){
            console.log("event", event);
            console.log("state", state);
            console.log("this", this); //this mean the checked radio in here
            console.log("checked radio value", $(this).val());
            // Do your logic in here according to the value 
            // if..else..
        }
    });
});

Кстати, вам не нужен элемент формы для определения проверенного события, переключатель сделал это для вас:)

Надеюсь, это поможет .

0
ответ дан Seyhmus Gokcen 6 February 2019 в 08:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: