这是代码,我是jQuery的初学者。 我在网上找到了这些代码,这是一份调查问卷。我想保存那些选定的选项,但我不知道该怎么做。
" $ .fn.jRadio =功能(设置)"我不知道这个设置是什么。
" var options = $ .extend(_defaults,settings || {});"什么是|| {}
(function($){ '使用严格的';
// <label class="u-radio" data-name="radio1">
// <input name="radio1" type="radio">
// </label>
// <label class="u-radio" data-name="radio1">
// <input name="radio1" type="radio">
// </label>
// <label class="u-radio" data-name="radio2">
// <input name="radio2" type="radio" checked>
// </label>
$.fn.jRadio = function (settings) {
/* 默认参数 */
var _defaults = {
checkedClass: "z-checked", // 选中状态类名
onChange: function (element) {
} // onchange回调,返回当前选中项DOM元素
};
var options = $.extend(_defaults, settings || {});
var radios = this;
radios.each(function () {
var $radio = $(this);
var _name = $(this).data("name"); // 组name值
/*---- 初始化 ----*/
// 是否选中以input:radio的选中状态为准,多个选中的话以最后一个为准
if($radio.find('input[type="radio"]').is(':checked')) {
var $otherRadios = radios.filter("[data-name='" + _name + "']").not($radio);
$radio.addClass(options.checkedClass);
$otherRadios.removeClass(options.checkedClass);
$otherRadios.find('input[type="radio"]').prop('checked', false);
//var str_ans = radios.filter('span[class="text"]').innerHTML
//var $str_ans = $radio.find('span[class="text"]').prop("innerText")
}
/*---- 添加事件 ----*/
$radio.on("change", function () {
if (!$(this).hasClass(options.checkedClass)) {
$(this).addClass(options.checkedClass);
radios.filter("[data-name='" + _name + "']").not($(this)).removeClass(options.checkedClass); // 切换状态
options.onChange($(this)); // 回调
//alert($str_ans)
}
});
});
};
/**
* 复选框
*
* `Html`
<label class="u-checkbox">
<input name="checkbox" type="checkbox">
</label>
* `/Html`
*
* @param settings 用户设置参数
*/
$.fn.jCheckbox = function (settings) {
/* 默认参数 */
var _defaults = {
checkedClass: "z-checked", // 选中状态类名
onChange: function (element) {} // onchange回调,返回当前选中项DOM元素组
};
var options = $.extend(_defaults, settings || {});
var checkboxes = this;
checkboxes.each(function () {
var $checkbox = $(this);
/*---- 初始化 ----*/
// 是否选中以input:checkbox的选中状态为准
if($checkbox.find('input[type="checkbox"]').is(':checked')) {
$checkbox.addClass(options.checkedClass);
} else {
$checkbox.removeClass(options.checkedClass);
}
/*---- 添加事件 ----*/
$checkbox.on("change", function () {
$(this).toggleClass(options.checkedClass);
options.onChange($(this));
});
});
};
})(jQuery的);
答案 0 :(得分:0)
1)$.fn.jRadio = function (settings)
创建一个jquery函数,可以像$('#elem').jRadio({})
一样使用
2)var options = $.extend(_defaults, settings || {});" what is ||{}
正在检查设置对象是否存在。如果不是,它将使用组合对象分配选项,如果设置和_defaults,否则它只会为选项分配_defaults
它将一个对象的内容合并到另一个对象。如果我们传递两个对象,则将第二个对象属性添加到第一个object / first参数。