我有一个Javascript对象如下:
var data = {items: [
{id: "1", name: "Snatch", type: "crime"},
{id: "2", name: "Witches of Eastwick", type: "comedy"},
{id: "3", name: "X-Men", type: "action"},
{id: "4", name: "Ordinary People", type: "drama"},
{id: "5", name: "Billy Elliot", type: "drama"},
{id: "6", name: "Toy Story", type: "children"}
]};
Run Code Online (Sandbox Code Playgroud)
如果我想在此列表中添加/删除项目,我将如何使用jQuery进行操作?客户端希望此列表可动态修改.
假设我有以下HTML代码:
<div id="container" style="width: 960px">
<div id="help_panel" style="width: 100%; margin: 0 auto;">
Content goes here.
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
如果我希望help_panel div延伸到页面/ broswer的宽度,即使页面/浏览器的宽度大于960px(这是为容器div设置的宽度),是否可以使用以上结构?如果页面宽度超过960px,我想让帮助面板div扩展到容器div中设置的宽度限制之外.
我很好奇是否可以用上述结构来完成.或者我是否必须将help_panel div放在容器div之外才能使其工作?
谢谢!
我正在经历一个相当奇怪的问题,使用PHP 5.3的日期差异函数来计算两个日期之间的天数差异.以下是我的代码:
$currentDate = new DateTime(); // (today's date is 2012-1-27)
$startDate = new DateTime('2012-04-01');
$diff = $startDate->diff($currentDate);
$daysBefore = $diff->d;
echo $daysBefore;
Run Code Online (Sandbox Code Playgroud)
上面的代码显示4作为$ daysBefore变量的值.
为什么PHP在2012年1月27日到2012年4月1日之间显示4天的差异,显然这些日期之间还有更多天.
难道我做错了什么?
我正在使用Yii的Yii :: app() - > db-> createCommand()来构建SQL查询.为了查看Yii生成的SQL代码,我使用的是CDBCommand的getText()方法.问题是,当我在包含参数的SQL代码上使用getText()方法时,例如:
Yii::app()->db->createCommand()
->select("name")
->from('package')
->where('id=:id', array(':id'=>5))
->queryRow();
Run Code Online (Sandbox Code Playgroud)
getText()方法返回以下SQL:
select name from package where id=:id
Run Code Online (Sandbox Code Playgroud)
代替:
select name from package where id=5
Run Code Online (Sandbox Code Playgroud)
这对于简单查询很好,但对于包含大量参数的更复杂查询,将每个参数复制/粘贴到SQL代码中进行测试非常困难.
有没有办法直接在SQL中使用getText()或Yii中的其他方法显示参数?
干杯!
我找不到有关Yii的AssetManager的更多信息来管理JS和CSS文件.我的问题是使用AssetManager有什么意义?我不确定它为我的开发过程带来了什么价值,事实上,它似乎使我的代码变得复杂......每次我更改我的脚本或css代码时,我都必须进入并删除我的资产文件夹以确保我有最新版本.
似乎将所有Javascript文件放在/ webroot/js /下更简单,只需使用标签加载文件而不是经历AssetManager的麻烦.另外,Yii的registerCoreScript函数总是将脚本标记放在标题标记内,而不是按照YSlow的建议将它们放在代码的底部,靠近结束标记.
我认为我对Yii的AssetManager的理解肯定存在差距.任何人都有任何想法为什么使用AssetManager比在PHP代码中硬编码脚本标签更好?我有点困惑......
谢谢!
我有以下代码,当表单提交时执行:
$('input[value=enter highlight]').val('');
Run Code Online (Sandbox Code Playgroud)
从本质上讲,它会在表单中搜索包含值"输入突出显示"的所有文本字段,并删除该文本.问题是,当文本字段的HTML代码如下:
<input type="text" value="enter highlight"/>
Run Code Online (Sandbox Code Playgroud)
并且用户手动更改表单中的值,JQuery仍然将字段的值识别为HTML代码中设置的原始值(即"输入突出显示")并将字段的值重置为空白,即使用户输入了不同的值进入该领域的价值.非常意外的行为.
知道我需要做些什么才能确保JQuery在清除值之前考虑用户输入文本框的任何更改值?
非常感谢!
我有以下代码:
<h1><a href="#" class="link">Click here</a></h1>
<div class="acitem"></div>
<div class="acitem2"></div>
<script>
$(document).ready(function() {
$('a.link').click(function() {
var element = $(this).next();
alert(element.attr('class'));
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
当我将"click here"链接包含在H1标记内时,警报调用将返回"undefined",但如果我从链接中删除H1标记,则警报调用将正确返回"acitem".有了H1标签,我也尝试过:
$(this).nextUntil('.acitem')
Run Code Online (Sandbox Code Playgroud)
但这仍然会返回'undefined'.
关于next()函数在JQuery中是如何工作的我有点困惑.只有当我从链接中删除H1标签时,任何人都知道为什么下一个功能正常工作?有什么我做错了吗?
谢谢!
我正在尝试使用Yii的ActiveForm创建一个带有图像上传字段的基本注册页面.但是,我遇到了问题.我使用以下代码来创建表单标记:
$form=$this->beginWidget('CActiveForm', array(
'id'=>'activity_form',
'enableAjaxValidation'=>true,
'stateful'=>true,
'enctype'=>'multipart/form-data'
));
Run Code Online (Sandbox Code Playgroud)
上面的代码在Yii中生成以下错误消息:
未定义属性"CActiveForm.enctype"
我也尝试过:
$form=$this->beginWidget('CActiveForm', array(
'id'=>'activity_form',
'enableAjaxValidation'=>true,
'stateful'=>true,
array('enctype'=>'multipart/form-data')));
Run Code Online (Sandbox Code Playgroud)
以及:
$form=$this->beginWidget('CActiveForm', array(
'id'=>'activity_form',
'enableAjaxValidation'=>true,
'stateful'=>true),
array('enctype'=>'multipart/form-data')));
Run Code Online (Sandbox Code Playgroud)
但这些都不奏效.
关于什么可能是错的任何想法?我可以使用beginWidget创建具有文件上载功能的多部分表单吗?我应该遵循的格式是什么?我似乎无法在文档或论坛中找到任何答案.
谢谢!
我在使用AWS和PHP SDK时遇到了一个非常奇怪的错误.我可以使用我的PHP代码连接到S3,并在我的笔记本电脑上使用本地服务器时将对象存储在我的存储桶中.我也可以在测试/登台服务器上连接到S3.但是,在我们的生产服务器上,当我尝试连接时,我不断收到以下错误:
cURL资源:资源ID#8; cURL错误:SSL CA证书问题(路径?访问权限?)(77)
我尝试在AWS SDK的config.inc.php文件中添加此行,这是AWS论坛中提到的解决方案:
define('AWS_CERTIFICATE_AUTHORITY',true);
但错误仍然存在.知道什么可能是错的或我怎么能麻烦拍这样的东西?
这是Apache错误日志中的内容:
即将连接()到mydb.s3.amazonaws.com端口443(#0)*尝试223.33.211.223 ...*已连接*已连接到mydb.s3.amazonaws.com(223.33.211.223)端口443(#0)*使用certpath初始化NSS:/ etc/pki/nssdb*无法初始化NSS数据库*NSS错误-8023*关闭连接#0*SSL CA证书问题(路径?访问权限?)
干杯!
php ×4
jquery ×3
yii ×3
amazon-s3 ×1
css ×1
datetime ×1
file-upload ×1
html ×1
javascript ×1
php-5.3 ×1