我似乎无法获得在选择器中包含变量的正确语法,例如$("input[name=' + Var +']"). What i'm attempting to do is have a variable set as a php variable and with
var SomeVar =“”; then user it in a selector for a changing variable according to
$ i` for for语句中。
我尝试以各种不同的方式使用引号,而我使用的是$("input[type=text]"."+var+"")
,我正在同一页面中为从数据库加载的多个产品运行相同的脚本。他们每个人都有一个复选框,这些复选框加起来总共有其他选项。还在努力使一个复选框处于选中状态。
// FOR KEEPING ATLEAST ONE CHECKBOX CHECKED //
$(document).ready(function(){
var checkbox3 = "<?php echo $checkbox3;?>";
$('input[name="'+checkbox3+'"]').click(function() {
var checkbox4 = "<?php echo $checkbox4;?>";
$('input[name="'+checkbox4+'"]').not(this).prop('checked', false);
});
var checkbox3 = "<?php echo $checkbox3;?>";
$('input[name="'+checkbox4+'"]').click(function() {
var checkbox4 = "<?php echo $checkbox4;?>";
$('input[name="'+checkbox3+'"]').not(this).prop('checked', false);
});
});
function displayVals() {
calcUsage();
var mySelect1 = "<?php echo $mySelect1; ?>";
var singleValues = $('#'+mySelect1).val();
var pricef1 = "<?php echo $pricef1; ?>";
$('#'+pricef1).val(singleValues);
}
// FINAL VALUE DERIVED FROM OPTIONS AND CHECKBOXES //
var ql1 = "<?php echo $qr1; ?>";
var $cbs = $('input[id="'+qr1+'"]');
function calcUsage() {
var mySelect12 = "<?php echo $mySelect1; ?>";
var total = $('#'+mySelect12).val();
$cbs.each(function() {
if (this.checked)
total = parseInt(total) + parseInt(this.value);
});
var usertotal1 = "<?php echo $usertotal1; ?>";
$('#'+usertotal1).text('R ' + total +'/day');
}
该脚本旨在将页面上加载的每种产品的值加起来,以得出总计。
答案 0 :(得分:0)
不需要创建javascript变量来包含要用作选择器名称的字符串值,只需直接使用PHP echo。我认为您对引号和双引号感到困惑。请记住,首先将解析PHP,然后将PHP中的值保留在最终包含您的javascript的文本文件中,因此,在将它们用作JS中的选择器字符串时,请将php块视为其结果字符串。
我已经重构了您的代码以进行说明。我还简化了复选框选择器部分(尽管如果您希望一组选项可用,但只能选择1,则应该使用单选按钮。)
function calcUsage() {
var total = $('#<?php echo $mySelect1; ?>').val();
$('#<?php echo $qr1; ?>').each(function() {
if (this.checked) {
total = parseInt(total) + parseInt(this.value);
}
});
$('#<?php echo $usertotal1; ?>').text('R '+total+'/day');
}
function displayVals() {
calcUsage();
var singleValues = $('#<?php echo $mySelect1; ?>').val();
$('#<?php echo $pricef1; ?>').val(singleValues);
}
$(document).ready(function(){
$('input[type="checkbox"]').click(function(){
$('input[type="checkbox"]').not($(this)).prop('checked', false);
});
});
答案 1 :(得分:0)
尝试在此行中进行一些更改
$('input[name="'+checkbox4+'"]').not(this).prop('checked', false);
将其更改为:
$($('input[name="'+checkbox4+'"]').not(this)).prop('checked', false);