Я просто сам это сделал. Чтобы обеспечить переносимость вашего скрипта, всегда начинайте его с:
wd <- setwd(".")
setwd(wd)
Это работает, потому что «.» переводится как команда Unix $ PWD. Присвоение этой строки объекту-символу позволяет затем вставить этот объект-символ в setwd () и Presto , ваш код будет всегда запускаться с его текущим каталогом в качестве рабочего каталога, независимо от того, на чьей машине он включен или где в файловой структуре он находится. (Дополнительный бонус: wd-объект может использоваться с file.path () (то есть file.path (wd, «output_directory»), чтобы создать стандартный выходной каталог независимо от пути к файлу, ведущего к вашей именованной директории. Это требует, чтобы вы создали новый каталог, прежде чем ссылаться на него таким образом, но этому тоже может помочь объект wd.
В качестве альтернативы следующий код выполняет то же самое:
wd <- getwd()
setwd(wd)
или, если вам не нужен путь к файлу в объекте, вы можете просто:
setwd(".")
Вы просто дважды вызываете переключатель начальной загрузки; один в вашем файле 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: </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..
}
});
});
Кстати, вам не нужен элемент формы для определения проверенного события, переключатель сделал это для вас:)
Надеюсь, это поможет .