Не совсем такая, какова ваша цель, но здесь есть 3-4 решения, которые могут работать:
Это, скорее всего, наиболее традиционный способ получения чистых URI для вашего API. Если вы хотите, чтобы пользовательская часть user.json была динамической, вы можете использовать mod_rewrite (опять же предполагая, что Apache) переписать ваши URL-адреса на скрипт обработчика php. Если вы собираетесь использовать обычный URL-адрес маршрута в стиле RESTful, вы, вероятно, захотите использовать его для достижения чистых /
разделенных URL-адресов.
# For grabbing all users
RewriteEngine on
RewriteRule ^users\.json rest.php [L]
# For grabbing one particular user
RewriteEngine on
RewriteRule ^([a-z0-9]+)\.json rest.php?user=$1 [L]
Где rest.php - ваш скрипт обработчика PHP.
Если вы не хотите использовать mod_rewrite, вы также можете сделать что-то вроде
example.com/rest.php/users.json
example.com/rest.php/user-id.json
или даже
example.com/rest.php/user-id
example.com/rest.php/user/user-id
Где rest.php - ваш скрипт обработчика PHP. Вы можете захватить user-id
из URL (или URI, если мы говорим о терминах RESTful), используя глобальный $_SERVER
с $_SERVER['REQUEST_URI']
.
Я считаю, что вы хотите добавить заголовок Content-Disposition . ..
Это заставит файл загружаться как user.json. Обычно это не поведение, ожидаемое для REST API, но из того, как был сформулирован ваш вопрос, я решил, что выброшу его там.
Предполагая, что вы используете сервер Apache, вы также можете просто использовать директиву AddHandler
, чтобы файлы расширения .json
обрабатывались так, как они являются php .
AddHandler application/x-httpd-php .json
Предупреждение. Другие простые .json-файлы будут обрабатываться как PHP, поэтому вы, вероятно, захотите установить это в файле .htaccess в каталоге с помощью PHP-скрипта. Это отлично работает для этого URI, но не идеально, если вы подвергаете много URI
Вы можете написать:
$(document).ready(function() {
$("#select-all-teammembers").click(function() {
var checkBoxes = $("input[name=recipients\\[\\]]");
checkBoxes.prop("checked", !checkBoxes.prop("checked"));
});
});
До jQuery 1.6, когда у нас было только attr () , а не prop () , мы писали:
checkBoxes.attr("checked", !checkBoxes.attr("checked"));
Но prop()
имеет лучшую семантику, чем attr()
, когда применяется к «логическим» атрибутам HTML, поэтому обычно предпочтительнее в этой ситуации.
Ну, есть более простой способ.
Сначала дайте вашим флажкам пример класса 'id_chk'
Затем внутри флажка, который будет контролировать состояние флажков 'id_chk', поставьте:
<input type='checkbox' onchange='js:jQuery(".id_chk").prop("checked", jQuery(this).prop("checked"))' />
Вот и все, надеюсь, это поможет
Этот работает очень хорошо для меня.
$("#checkall").click(function() {
var fruits = $("input[name=fruits\\[\\]]");
fruits.prop("checked", $(this).prop("checked"));
});
<table class="table table-datatable table-bordered table-condensed table-striped table-hover table-responsive">
<thead>
<tr>
<th class="col-xs-1"><a class="select_all btn btn-xs btn-info"> Select All </a></th>
<th class="col-xs-2">#ID</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" name="order333"/></td>
<td>{{ order.id }}</td>
</tr>
<tr>
<td><input type="checkbox" name="order334"/></td>
<td>{{ order.id }}</td>
</tr>
</tbody>
</table>
Попробуйте:
$(".table-datatable .select_all").on('click', function () {
$("input[name^='order']").prop('checked', function (i, val) {
return !val;
});
});
Этот код будет переключать флажок при нажатии любого аниматора переключателя, используемого в веб-шаблонах. Замените ".onoffswitch-label" как доступный в вашем коде. checkboxID - это чекбокс, включенный здесь.
$('.onoffswitch-label').click(function () {
if ($('#checkboxID').prop('checked'))
{
$('#checkboxID').prop('checked', false);
}
else
{
$('#checkboxID').prop('checked', true);
}
});
просто вы можете использовать это
$("#chkAll").on("click",function(){
$("input[name=checkBoxName]").prop("checked",$(this).prop("checked"));
});
, я думаю, самый правильный человек, который предложил нормальный вариант - это GigolNet Gigolashvili, но я хочу предложить еще более красивый вариант. Проверьте это
$(document).on('click', '.fieldWrapper > label', function(event) {
event.preventDefault()
var n = $( event.target ).parent().find('input:checked').length
var m = $( event.target ).parent().find('input').length
x = n==m? false:true
$( event.target ).parent().find('input').each(function (ind, el) {
// $(el).attr('checked', 'checked');
this.checked = x
})
})
Вы также можете написать так же
$(function() {
$("#checkbox-toggle").click(function() {
$('input[type=checkbox][name=checkbox_id\\[\\]]').click();
});
});
Просто нужно вызвать событие щелчка для флажка, когда пользователь нажимает кнопку с идентификатором «# checkbox-toggle».
Вот способ jQuery для переключения флажков без необходимости выбора флажка с html5 & amp; ярлыки:
<div class="checkbox-list margin-auto">
<label class="">Compare to Last Year</label><br>
<label class="normal" for="01">
<input id="01" type="checkbox" name="VIEW" value="01"> Retail units
</label>
<label class="normal" for="02">
<input id="02" type="checkbox" name="VIEW" value="02"> Retail Dollars
</label>
<label class="normal" for="03">
<input id="03" type="checkbox" name="VIEW" value="03"> GP Dollars
</label>
<label class="normal" for="04">
<input id="04" type="checkbox" name="VIEW" value="04"> GP Percent
</label>
</div>
$("input[name='VIEW']:checkbox").change(function() {
if($(this).is(':checked')) {
$("input[name='VIEW']:checkbox").prop("checked", false);
$("input[name='VIEW']:checkbox").parent('.normal').removeClass("checked");
$(this).prop("checked", true);
$(this).parent('.normal').addClass('checked');
}
else{
$("input[name='VIEW']").prop("checked", false);
$("input[name='VIEW']").parent('.normal').removeClass('checked');
}
});
Начиная с jQuery 1.6 вы можете использовать .prop(function)
для переключения проверенного состояния каждого найденного элемента:
$("input[name=recipients\\[\\]]").prop('checked', function(_, checked) {
return !checked;
});
Check-all checkbox должен быть обновлен сам при определенных условиях. Попробуйте нажать на «# select-all-teammembers» , затем снимите отметку с нескольких пунктов и снова нажмите «select-all». Вы можете увидеть несоответствие. Чтобы предотвратить это, используйте следующий прием:
var checkBoxes = $('input[name=recipients\\[\\]]');
$('#select-all-teammembers').click(function() {
checkBoxes.prop("checked", !checkBoxes.prop("checked"));
$(this).prop("checked", checkBoxes.is(':checked'));
});
Кстати, все флажки DOM-объекта должны быть кэшированы, как описано выше.
Используйте этот плагин:
$.fn.toggleCheck =function() {
if(this.tagName === 'INPUT') {
$(this).prop('checked', !($(this).is(':checked')));
}
}
Затем
$('#myCheckBox').toggleCheck();
Предполагая, что это изображение, которое должно переключаться флажок, это работает для меня
<img src="something.gif" onclick="$('#checkboxid').prop('checked', !($('#checkboxid').is(':checked')));">
<input type="checkbox" id="checkboxid">
Я думаю, что проще просто вызвать клик:
$("#select-all-teammembers").click(function() {
$("input[name=recipients\\[\\]]").trigger('click');
});
jQuery("#checker").click(function(){
jQuery("#mydiv :checkbox").each(function(){
this.checked = true;
});
});
jQuery("#dechecker").click(function(){
jQuery("#mydiv :checkbox").each(function(){
this.checked = false;
});
});
jQuery("#checktoggler").click(function(){
jQuery("#mydiv :checkbox").each(function(){
this.checked = !this.checked;
});
});
;)