Skip to content

Instantly share code, notes, and snippets.

View marketinview's full-sized avatar

Market In View marketinview

View GitHub Profile
@marketinview
marketinview / Qualtrics_DetectJFE.js
Last active November 4, 2019 00:50
Qualtrics: Detect JFE (Jiffy). This snippet detects if Qualtrics is in standard of JFE mode. Some scripts are dependent on the which mode Qualtrics is running. This code can be included to detect the mode and act accordingly using if(jfe). #qualtrics #js #jfe
var jfe = false;
if(/^\/jfe/.test(window.location.pathname)) jfe = true;
@marketinview
marketinview / Qualtrics_iOS13iPhoneSafariFix.js
Created January 17, 2020 20:05
Qualtrics: iOS13 iPhone Safari Fix - Fixes scrolling and powered by qualtrics click issue in iOS 13 Safari for iPhone. Place script in survey header. #qualtrics #js #jq #iphone #ios13 #safari #scroll
<script>
Qualtrics.SurveyEngine.addOnReady(function() {
jQuery("#Plug a").attr("href", "javascript:void(0)");
jQuery("#Plug a").click(function(e) { e.preventDefault(); });
setTimeout(function() { window.scrollTo(0,0); },200);
});
</script>
@marketinview
marketinview / Excel_Concat.xla
Last active July 9, 2020 19:52
Excel: Concat vb function to concatenate a range of cells. Note: In newer versions of Excel (e.g. Office 365) the built-in TEXTJOIN feature can be used instead. #excel #vb #concatenate
Function Concat(rng As Range, Optional sep As String = ",") As String
Dim rngCell As Range
Dim strResult As String
For Each rngCell In rng
If rngCell.Value <> "" Then
strResult = strResult & sep & rngCell.Value
End If
Next rngCell
If strResult <> "" Then
strResult = Mid(strResult, Len(sep) + 1)
@marketinview
marketinview / uuidv4.js
Created January 31, 2021 21:18
uuid - JavaScript function to create uuid. From: https://stackoverflow.com/a/2117523/4434072 #js #uuid #id
function uuidv4() {
return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>
(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16));
}
console.log(uuidv4());
@marketinview
marketinview / resetMatrix.html
Last active October 23, 2022 13:58
Qualtrics: Reset Likert Matrix. Works with single or multi-select matrix. Add button html to question text. #qualtrics #js #jq #matrix #likert #reset
<button class="reset">Reset</button>
@marketinview
marketinview / labelBipolarMatrixCols.js
Last active October 23, 2022 14:50
Qualtrics: Label Bipolar Matrix Columns. NOT for mobile. #qualtrics #js #jq #matrix #bipolar
Qualtrics.SurveyEngine.addOnload(function() {
var clh = jQuery("#"+this.questionId+" tr.ColumnLabelHeader");
clh.find("td:first").html("Statement A");
clh.append("<td class='yAxisBorder'></td><td>Statement B</td>");
});
@marketinview
marketinview / saveDisplayedMCChoicesAsEDs.js
Last active October 23, 2022 14:52
Qualtrics: Save MC Displayed Choices as Embedded Data Variables. #qualtrics #js #jq #mc #vars
Qualtrics.SurveyEngine.addOnload(function() {
jQuery("#"+this.questionId+" label.SingleAnswer > span").each(function(i) {
Qualtrics.SurveyEngine.setEmbeddedData("item"+(i+1),jQuery(this).html());
});
this.clickNextButton();
});
@marketinview
marketinview / reverseMobileHorizontalMCChoices.js
Last active October 23, 2022 14:53
Qualtrics: Reverse Mobile Horizontal MC Choices. #qualtrics #js #jq #mc #horizontal #reverse
Qualtrics.SurveyEngine.addOnload(function() {
var row = jQuery("#"+this.questionId+" tr");
var cells = row.find("td");
if(cells.css("display") == "block") cells.each(function(i) { if(i > 0) row.prepend(jQuery(this)); });
});
@marketinview
marketinview / moveMCtextBoxes.js
Last active October 23, 2022 14:59
Qualtrics: Move Multiple Choice Text Entry Boxes Inside Label. #qualtrics #js #jq #mc #text
Qualtrics.SurveyEngine.addOnload(function() {
jQuery("#"+this.questionId+" .TextEntryBox").each(function() {
var tb = jQuery(this);
tb.css({"float":"none","background-color":"white","width":"100%"});
tb.prev("label").css("display","block").append(" ").append(tb);
});
});
@marketinview
marketinview / reverseMobileMatrixChoices.js
Last active October 23, 2022 15:01
Qualtrics: Reverse Mobile Matrix Choices. Reverse the order of choices in a mobile (accordian) matrix question. Right to Left = Top to Bottom. #qualtrics #js #jq #matrix #mobile #scale #accordian #reverse
Qualtrics.SurveyEngine.addOnload(function() {
if(jQuery("#"+this.questionId+" .QuestionBody.mobile").length > 0) {
jQuery("#"+this.questionId+" tr.ChoiceRow").each(function() {
var label = jQuery(this).find("th");
jQuery(this).find("td").each(function(index) {
var choice = jQuery(this);
if(index > 0) {
label.after(choice);
if(choice.hasClass("last")) choice.removeClass("last");
}