我正在使用Plupload上传图像,并且在重构代码之前一切正常。基本上是一样的,但由于某种原因 Plupload 失败并给了我
TypeError: Image is not a constructor
Run Code Online (Sandbox Code Playgroud)
当我尝试上传图像时(此处为错误消息)。谁能看到我的代码做错了什么?Plupload 正在启动,我可以选择图像。当它尝试上传失败的图像时。
在我的页面上,我有两个区域可以上传图片。
var Image = {
id: null,
type: null,
dropbox: null
};
ImageHandler = {
settings: {},
image: {},
entityId : null, // ID of entity
entity: null, // Entity type [store | brand | shmall | shguide]
init: function(){
var self = this;
self.image.size = { width:600,height:600,quality:80 };
self.settings.url = '';
self.entityId = lib.getEntityID(); // external function
self.entity = $('.image-drop-box').data('entity-type');
// For each image …Run Code Online (Sandbox Code Playgroud) 说我有以下代码:
<div class="foo">
<div class="t1">A</div>
<div class="t2">B</div>
</div>
//JS
var obj = $('.foo');
Run Code Online (Sandbox Code Playgroud)
现在我想从t2元素中获取文本.如何使用我的obj对象选择此项?
这并没有工作:var txt = $(obj + '.t2').text();
这工作得很好:var txt = obj.find('.t2').text();
我也知道我可以用这var txt = $('.foo .t2').text();
但我认为使用.find()比直接选择需要更多资源.有没有办法可以直接使用my选择子元素obj?
要么我误解了它是如何工作的,要么它根本不起作用。我有以下 CSS:
transition-property: max-width;
transition-timing-function: linear;
transition-duration: 5s;
transition-delay: 0s;
Run Code Online (Sandbox Code Playgroud)
我期望的是,当我单击按钮时,转换会在 5 秒后开始并结束。
发生的情况是,在我单击按钮后,在转换开始之前延迟了大约 3.5 秒,并且转换持续了大约 1.5 秒。总而言之,5 秒。
如果我使用transition-timing-function: ease-in;它,在转换开始之前会延迟大约 4.5 秒。
我一直在遵循这里的转换指南。
我该怎么做才能让转换在我单击按钮的那一刻开始,然后持续 5 秒?
我有一个自动完成功能,回调数据返回.许多不同的实例都使用此自动完成功能.
$.fn.acItem = function(callback){
var self = this;
$(self).autocomplete({
(...)
select: function(e, ui){
// Eval for calling anonymous function (right?)
window[callback](ui.item);
}
});
};
Run Code Online (Sandbox Code Playgroud)
我也在使用命名空间
var Agency = {
init: function() {
var self = this;
self.registerAgency.addItem();
},
registerAgency: {
(...)
addItem: function(item){
if(!item){
(...)
// Initiate autocomplete on input
$('.search-item').acItem('Agency.registerAgency.addItem');
} else {
// Do something with Item
}
}
}
Agency.init();
Run Code Online (Sandbox Code Playgroud)
window[callback](ui.item)如果我没有使用命名空间,请使用作品.但是对于命名空间,它会变得有点复杂,如Jason Bunting所描述的那样.
由于使用了不同的命名空间acItem(),因此需要知道在回调中调用哪个函数.但许多人强烈反对使用Eval来调用匿名函数.
那么对匿名函数进行回调的好方法是什么?
我正在尝试使用jQuery.post()函数来检索一些数据.但我没有输出.
我有一个显示表格的HTML.单击此表应触发jQuery.post事件.
我的脚本文件如下所示:
jQuery(document).ready(function() {
jQuery('#storeListTable tr').click(function() {
var storeID = this.cells[0].innerHTML; //This gets me the rowID for the DB call.
jQuery.post("../functions.php", { storeID: "storeID" },
function(data){
alert(data.name); // To test if I get any output
}, "json");
});
});
Run Code Online (Sandbox Code Playgroud)
我的PHP文件如下所示:
<?php
inlcude_once('dal.php');
//Get store data, and ouput it as JSON.
function getStoreInformation($storeID)
{
$storeID = "9";//$_GET["storeID"];
$sl = new storeLocator();
$result = $sl->getStoreData($storeID);
while ($row = mysql_fetch_assoc($result)) {
{
$arr[] = $row;
}
$storeData = json_encode($arr);
echo …Run Code Online (Sandbox Code Playgroud) 我无法将事件绑定到由jQuery生成的列表.我看过一些类似的问题,但还没找到任何解决方案.
这是生成我的列表的代码:
var list = '<ul>';
for (var i = 0; i < data.length; i++)
{
list += '<li id="' + data[i].id + '"><span class="btnRemoveItem" title="Remove item from list"></span>' + data[i].name + '</li>';
}
list += '</ul>';
jQuery("#spanContainer").html(list);
Run Code Online (Sandbox Code Playgroud)
这创建了我想要的列表.效果很好.但我无法通过jQuery操纵列表.一些研究指出我将事件绑定到我的列表的方向.我怎么做?我看过几个有相同问题的帖子,但没有找到解决我问题的任何内容.
我正在使用jQuery 1.2.6并且不能使用v.1.3(具有.live功能).
资源: docs.jquery.com/Events/bind
编辑: 我试过这个,但它没有用.
jQuery("#7276").bind("click",function(){alert('test');})
这是html输出:
<span id="itemList">
<ul>
<li id="listItem_7276"><span title="Remove item from list" class="btnRemoveItem" id="7276"/>Main item</li>
<li id="listItem_7281"><span title="Remove item from list" class="btnRemoveItem" id="7281"/>Test item 4</li>
</ul>
</span>
Run Code Online (Sandbox Code Playgroud) 我有以下HTMl:
<input id="brandID" name="brandID" type="hidden" value="" />
<select id="selectList" class="textfield70pc" name="selectList">
<option selected="" value="221">A</option>
<option value="4673">B</option>
</select>
Run Code Online (Sandbox Code Playgroud)
在更改选择框的值后,我需要填充此输入字段.我尝试过类似的东西,但它不起作用.
jQuery('#selectList').change(function(){
jQuery('#brandID').attr('value', '123123');
});
Run Code Online (Sandbox Code Playgroud)
有人建议吗?
更新
这有效:
document.getElementById('brandID').value = '123'
Run Code Online (Sandbox Code Playgroud)
但我想使用jQuery.
我有以下功能:
var id = "10";
var type = "Type A";
var img = "myimage.jpg";
jQuery.post("my/path/somefile.php", { instance: 'getUrl', ID : id, type: type},
function(data)
{
jQuery('#logo').attr("src",data.url + img);
},"json");
Run Code Online (Sandbox Code Playgroud)
img当我进入函数时,如何获得值?img = new value从功能内部进行设置?UPDATE
此代码不为变量赋予新值:
logoUrl = "noLogo.png";
jQuery.post("my/path/somefile.php", { instance: 'getUrl', ownerID : "123", type: "brand"},
function(logo)
{
logoUrl = logo.url + "logo/";
},"json");
alert(logoUrl); // This outputs noLogo.png"
Run Code Online (Sandbox Code Playgroud) 我有16 <li>件物品.
单击按钮后,我运行以下代码删除<li>项目.
jQuery('.btnRemoveItem').live("click",function(){
var obj = this;
jQuery.post("wp-content/themes/storelocator/include/adm_gallery.php", { deleteImage: 'single', name: jQuery(this).attr('id') },
function(data){
if(data.status == 'deleted');
{
jQuery(obj).closest('li').fadeOut(400, function() { $(this).remove(); });
var count = jQuery('#adminGallery ul li').length;
jQuery('#imageCount').html(count);
}
}, "json");
});
Run Code Online (Sandbox Code Playgroud)
此代码工作并删除列表项.但是,进行项目计数仍然会返回16项.因此,我需要以某种方式绑定事件.我想也许这$.live会有所帮助,但它没有效果.
我应该如何"绑定" <li>删除?
由于安全原因,register_globals设置为关闭.这很糟糕,因为现在我真的可以使用会话了.
你们是如何解决这个"问题"的?
UPDATE
我尝试过使用$ _SESSION,但它没有用.这就是为什么我认为这与register_globals离开有关.
在我的头文件中,我有以下代码:
session_start();
if (!isset($_SESSION['test'])) {
$_SESSION['test'] = "Foo bar";
Run Code Online (Sandbox Code Playgroud)
现在,在我的头文件中的任何地方,我都可以输出内容$_SESSION['test'].
但是我无法从例如page.php文件输出相同的内容.
以下是使用Wordpress的示例:example.php
//Include the header file
<?php get_header(); ?>
Here is some text, and this is my session: <?php echo $_SESSION['test']; ?>
<?php get_footer(); ?>
Run Code Online (Sandbox Code Playgroud)
这将导致会话空.