需要拆分返回JSON字符串,以便我可以循环JQuery

时间:2019-02-28 15:23:26

标签: javascript jquery json

在我的JSON中,我得到一个字符串:

selectedDays: "Mon, Tue, Wed, Thur, Fri, Sat"

我需要对此进行分解,以便我可以添加某种形式的loop来添加class,但是我不知道该怎么做。

是这样,所以我可以在loop

中添加一些打击
$('button[name=SOME_NAME]).addClass('.btn-primary');

无法弄清楚,以前从未使用过JSON数据。

console.log中返回的完整数据

{
    endTime: "01:02",
    endTimeHr: "01",
    endTimeMin: "02",
    number: "00000001",
    position: "1",
    selectedDates: "All days of the month",
    selectedDays: "Mon, Tue, Wed, Thur, Fri, Sat",
    selectedMonths: "Jan, Aug",
    startTime: "01:01",
    startTimeHr: "01",
    startTimeMin: "01",
    timeRange: "-w",
    timeType: "specificTime"
};

当前HTML每日按钮

<div class="form-horizontal" id="selectWeekdaysSection">
    <div class="form-group">
        <div class="col-md-offset-2 col-lg-4">
            <button id="mon" name="weekdaysbutton" class="btn btn-default" type="button" value="Mon">Mon</button>
            <button id="tue" name="weekdaysbutton" class="btn btn-default" type="button" value="Tue">Tue</button>
            <button id="wed" name="weekdaysbutton" class="btn btn-default" type="button" value="Wed">Wed</button>
            <button id="thur" name="weekdaysbutton" class="btn btn-default" type="button" value="Thur">Thur</button>
            <button id="fri" name="weekdaysbutton" class="btn btn-default" type="button" value="Fri">Fri</button>
            <button id="sat" name="weekenddaysbutton" class="btn btn-default" type="button" value="Sat">Sat</button>
            <button id="sun" name="weekenddaysbutton" class="btn btn-default" type="button" value="Sun">Sun</button>
        </div>
    </div>
</div>

屏幕截图-蓝色也是应用样式后的按钮 enter image description here

2 个答案:

答案 0 :(得分:4)

STEPS:

  1. 从JSON中提取所需的数据。
  2. 将字符串设置为您使用的格式,该格式应为小写字母,没有空格。
  3. 将字符串拆分为数组。
  4. 遍历数组,并将每个字符串用作选择器的按钮ID。
  5. 将课程添加到每个课程中。

const json = {
  selectedDays: "Mon, Tue, Wed, Thur, Fri, Sat"
}
let selectedDays = json.selectedDays.toLowerCase().replace(/ /g, '').split(',')
selectedDays.forEach(day => {
  $('button#' + day).addClass('.btn-primary')
})
// Log the classes
$('button').each((i, e) => {
  console.log($(e).attr('id'), $(e).attr('class'))
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="mon" name="weekdaysbutton" class="btn btn-default" type="button" value="Mon">Mon</button>
<button id="tue" name="weekdaysbutton" class="btn btn-default" type="button" value="Tue">Tue</button>
<button id="wed" name="weekdaysbutton" class="btn btn-default" type="button" value="Wed">Wed</button>
<button id="thur" name="weekdaysbutton" class="btn btn-default" type="button" value="Thur">Thur</button>
<button id="fri" name="weekdaysbutton" class="btn btn-default" type="button" value="Fri">Fri</button>
<button id="sat" name="weekenddaysbutton" class="btn btn-default" type="button" value="Sat">Sat</button>
<button id="sun" name="weekenddaysbutton" class="btn btn-default" type="button" value="Sun">Sun</button>

答案 1 :(得分:2)

如果还没有的话,您要做的第一件事就是parse the JSON data,以便可以将其用作JavaScript对象。之后,您应该能够引用selectedDays属性,并使用JavaScript的split字符串操作方法将数据转换为.each()可以迭代的内容