标签: javascript-framework

如何将dojo.FilteringSelect配置为匹配通配符值?

下面是填充了用户数据的filteringSelect的示例.我的目标是在显示的值上执行wilcard匹配.例如,如果用户键入'son',则下拉匹配将是"homer simpSON"和'carl calSON'.默认情况下,匹配将仅位于标签的开头.

我尝试更改dijit.byId('userselect').searchAttr,但将其设置为除字符串之外的任何内容都会导致错误的行为.

<input id="userselect">

<script type="text/javascript">
    dojo.require("dijit.form.FilteringSelect");
    dojo.require("dojo.data.ItemFileReadStore");

    var user_data = {
        "itentifier":"user_id",
        "label":"label",
        "items":[
            {"first_name":"Waylon","last_name":"Smithers","label":"Waylon Smithers","user_id":7}
            ,{"first_name":"Carl","last_name":"Carlson","label":"Carl Carlson","user_id":6}
            ,{"first_name":"Homer","last_name":"Simpson","label":"Homer Simpson","user_id":4}
            ,{"first_name":"Lenny","last_name":"Leonard","label":"Lenny Leonard","user_id":5}
            ,{"first_name":"Montgomery","last_name":"Burns","label":"Montgomery Burns","user_id":8}
            ]
        };

    dojo.addOnLoad(function() {
        var userStore = new dojo.data.ItemFileReadStore({
            //url: "/user/lookup",
            data: user_data
        });
        var filteringSelect = new dijit.form.FilteringSelect({
            id: "userselect",
            name: "userselect",
            store: userStore,
            searchAttr: 'label' //["first_name", "last_name", "oasis"]
        },
        "userselect");
    });
</script>
Run Code Online (Sandbox Code Playgroud)

javascript dojo javascript-framework

5
推荐指数
2
解决办法
3050
查看次数

ExtJS双向数据绑定?或替代品

我是一位经验丰富的Flex/.NET开发人员,现在正在学习html5/javascript.过去几周我一直在玩Ext Core和ExtJS,我对是否/如何使用这些库对非基于列表的数据进行双向数据绑定感兴趣.

似乎大多数绑定支持都是针对将数据行绑定到网格.我有兴趣将UI元素绑定到不是基于列表的数据的任意POJO.

也许我只是没有找到合适的地方,但我找不到支持.

我真的很想听听人们在Ext中做了什么,或者人们推荐什么作为替代方案.

data-binding extjs javascript-framework

5
推荐指数
1
解决办法
3862
查看次数

ExtJS工具栏无法正确呈现

我有一个窗口,我想在顶部添加一个工具栏,以及一个用于在其余区域中加载内容的面板.不幸的是,当我添加内容面板时,工具栏会扩展到不成比例的大小.我试过硬编码大小,但这似乎不起作用.我究竟做错了什么?

在此先感谢您的回复:

  // Main application entry point
  Ext.onReady(function() {
    var loginWin;
    var mainWin;
    var content;

    var form = new Ext.form.FormPanel({
        baseCls: 'x-plain',
        labelWidth: 70,
        //url:'',
        defaultType: 'textfield',

        items: [{
            fieldLabel: ' User Name',
            name: 'username',
            anchor:'100%'  // anchor width by percentage
        },{
        inputType: 'password',
        fieldLabel: ' Password',
            name: 'password',
            anchor: '100%'  // anchor width by percentage
        }]
    });

    content = new Ext.Panel({
        baseCls: 'x-plain',
        layout:'fit',
        anchor:'90%',
        height: 500,
        items: [
           { 
               title: 'blah',
               html: '<div>hello</div>'
           }  
        ]    
    });

    var tb …
Run Code Online (Sandbox Code Playgroud)

extjs javascript-framework

5
推荐指数
1
解决办法
8337
查看次数

Google reCAPTCHA中未捕获的TypeError

我正在通过JavaScript http://www.google.com/recaptcha/api/js/recaptcha_ajax.js加载reCAPTCHA 并使用jquery-1.5.2.min.js与本地PHP脚本进行通信,然后验证输入通过Google的recaptchalib.php并以JSON格式将数据返回给JavaScript.一切正常,但谷歌Chrome的控制台报告错误:

Uncaught TypeError: Cannot set property 'innerHTML' of null  recaptcha_ajax.js:15
Recaptcha._init_builtin_theme                                recaptcha_ajax.js:15
Recaptcha._finish_widget                                     recaptcha_ajax.js:19
Recaptcha.challenge_callback                                 recaptcha_ajax.js:13
(anonymous function)                                                 challenge:12
Run Code Online (Sandbox Code Playgroud)

我想解决这个错误,但我不知道该怎么做.

javascript ajax jquery javascript-framework recaptcha

5
推荐指数
1
解决办法
8094
查看次数

Backbone.js与非RESTful应用程序?(Backbone.js适合我当前的项目吗?)

我正在试图弄清楚Backbone.js是否是我当前项目的正确框架:可视化应用程序.

我有很多问题:

1)状态/路由?

由于这不是典型的RESTful应用程序,而是具有各种图表类型和这些图表设置的可视化应用程序,如何在URL中维护状态?假设我的areaChart模型有许多默认值,如下所示:

AreaChartModel = Backbone.Model.extend({
    defaults: {
        selectedCountries: [],
        year: 1970,
        stacked: false
    },
    initialize: function(){
        [...]
    }
});
Run Code Online (Sandbox Code Playgroud)

在对模型的更新中,我想序列化其中一些属性,以便我可以为特定状态添加书签:chartApp.html#!year = 1970&stacked = false等.

反之亦然,当以这种状态启动应用程序时,我如何"取消"url状态并设置模型?我可以使用Backbone的内在路由吗?

2)控制器和耦合?

看来Backbone有一个非常紧凑的视图模型耦合?这真的是我应该将我的areaChartView绑定到模型吗?

AreaChartView = Backbone.View.extend({
    initialize: function(){
        areaChartModel.bind("change:year", this.render);
    }
});
Run Code Online (Sandbox Code Playgroud)

这通常不是控制器的作用吗?

3)延续:模型与控制器?

鉴于这种情况:在此输入图像描述

"侧栏"中的更改应触发一系列功能:
1)"应加载当前选择的新数据"
2)"基于此数据,应更新"可视化"视图中的比例"
3)"可视化视图应该呈现"

我应该在哪里放置这些函数,如何在状态稳定时触发的模型中创建事件?(即,当调用了所有函数并且是时候设置视图状态了吗?)

javascript model-view-controller javascript-framework backbone.js

5
推荐指数
1
解决办法
2028
查看次数

Backbone.js - 从一个视图绑定到另一个视图?

我有一个主应用程序视图,标题中有一个过滤器菜单.点击后,我想在单独的新闻Feed视图中过滤内容.但我不知道如何将事件(并传递类数据)从一个视图中的点击绑定到另一个视图中的函数.

我怎么能做到这一点?

view javascript-framework javascriptmvc backbone.js

5
推荐指数
1
解决办法
5593
查看次数

5
推荐指数
1
解决办法
2866
查看次数

Phonegap错误 - "在Android上无法读取未定义的属性'捕获'

尝试使用PhoneGap创建启动应用程序.我被困在这条线上:

navigator.device.capture.captureAudio(onSuccess, onError, {limits:1, duration:5});

它在iOS上工作正常但在Android模拟器上抛出此错误:

无法读取未定义的属性"捕获"

这navigator是错误发生时的对象(注意没有device导致此错误的属性)

{
    "language": "en-US",
    "product": "Gecko",
    "mimeTypes": {
        "length": 0
    },
    "appVersion": "5.0 (Linux; U; Android 4.0.3; en-us; sdk Build/MR1) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
    "plugins": {
        "length": 0
    },
    "onLine": true,
    "connection": {
        "type": 0
    },
    "platform": "Linux armv7l",
    "vendor": "Google Inc.",
    "appCodeName": "Mozilla",
    "geolocation": {},
    "cookieEnabled": true,
    "appName": "Netscape",
    "productSub": "20030107",
    "userAgent": "Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; sdk Build/MR1) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 …
Run Code Online (Sandbox Code Playgroud)

javascript android javascript-framework cordova

5
推荐指数
1
解决办法
7882
查看次数

告诉ember.js为其模型的"id"使用不同的密钥

我陷入了不应该id在API端点返回字段的情况.我需要告诉ember使用slug/而不是字段id.

我试过了DS.RESTAdapter.map('App.Post', id: {key: 'slug'}).虽然这种方法非常适合App.Post.find("a-slug-name"),但App.Post.find()每次调用它时都会导致添加新模型.并且还指定id为null.

那我该怎么做呢

javascript javascript-framework ember.js

5
推荐指数
1
解决办法
3584
查看次数

动态加载的JavaScript库什么时候可用?

我编写了JavaScript库来使用FileSaver.js及其相关的库.但是,每当有人想要使用我的库时,我都不想总是加载FileSaver.js.而且我不想强迫他们自己加载所有各种与FileSaver相关的JavaScript库script(或者甚至加载我的一个可以做到这一点).

相反,我更喜欢的是这样的.当他们调用我的createImage函数时,它首先执行以下操作:

function createImage(image, name) {
  if (typeof(saveAs) !== 'function') {
    var element = document.createElement('script');
    element.async = false;
    element.src = 'FileSaver.js';
    element.type = 'text/javascript';
    (document.getElementsByTagName('head')[0]||document.body).appendChild(element);
  }
  // now do the saveImage code
}
Run Code Online (Sandbox Code Playgroud)

问题是,经过上述操作后,saveAs仍未定义该功能.只有在我createImage完成后才能saveAs最终定义函数.

javascript javascript-framework

5
推荐指数
1
解决办法
6261
查看次数