小编Ome*_*ari的帖子

.NET - 枚举的jSON序列化为字符串

我有一个包含enum属性的类,在使用时序列化对象时JavaScriptSerializer,我的json结果包含枚举的整数值而不是它的string"name".有没有办法让枚举作为string我的json而不必创建自定义JavaScriptConverter?也许有一个属性,我可以装饰enum定义,或对象属性,?

举个例子:

enum Gender { Male, Female }

class Person
{
    int Age { get; set; }
    Gender Gender { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

期望的json结果:

{ "Age": 35, "Gender": "Male" }
Run Code Online (Sandbox Code Playgroud)

c# asp.net enums json javascriptserializer

1088
推荐指数
22
解决办法
42万
查看次数

使用内置DOM方法或Prototype从HTML字符串创建新的DOM元素

我有一个表示元素的HTML字符串:'<li>text</li>'.我想将它附加到DOM中的一个元素(ul在我的例子中).如何使用Prototype或DOM方法执行此操作?

(我知道我可以在jQuery中轻松完成这个,但不幸的是我们没有使用jQuery.)

javascript dom prototypejs

555
推荐指数
15
解决办法
53万
查看次数

jQuery .hasClass()vs .is()

从性能的角度来看,是否有一种确定元素是否被赋予类别的首选方法?

$('#foo').hasClass('bar');
Run Code Online (Sandbox Code Playgroud)

要么

$('#foo').is('.bar');
Run Code Online (Sandbox Code Playgroud)

jquery

93
推荐指数
4
解决办法
5万
查看次数

一旦解决了所有延迟对象,就提高jquerydeferred.then()

我有两个javascript函数,save()saveAll()设置如下:

function save(data) {
    return $.post('/save', data);
}

function saveAll(callback) {
    var dataArray = [];
    $.each(dataArray, function() {
        save(this);
    });
    callback();
}
Run Code Online (Sandbox Code Playgroud)

我有兴趣修改saveAll()它以利用jquery延迟对象,并在callback所有save()操作完成后引发该函数.但是,我不确定确切的语法...特别是与$ .when()内部的$ .each()有关.会是这样的吗?

function saveAll(callback) {
    var dataArray = [];
    $.when(
        $.each(dataArray, function() {
            return save(this);
        })
    ).then(callback);
}
Run Code Online (Sandbox Code Playgroud)

ajax jquery jquery-deferred

10
推荐指数
1
解决办法
4929
查看次数

如何在textarea中的当前插入位置插入文本

在来自图像的函数调用中,我试图将图像中的alt标记值插入到插入符当前所在位置的textarea中.

这是我目前拥有的代码,它将alt标记值插入文本区域的末尾.

    $("#emoticons").children().children().click(function () {
        var ch = $(this).attr("alt");
        $("#txtPost").append(ch);

    }); 
Run Code Online (Sandbox Code Playgroud)

我遇到问题的两件事是确定插入符号的位置,并在插入符号位置+插入的代码+插入符号后的textarea的值之前创建一个带有textarea值的新字符串.

javascript jquery

7
推荐指数
1
解决办法
9204
查看次数

将表单序列化为javascript对象的特例

建立在这个问题$.fn.serializeObject()功能上,我希望能够在我的表单名称中支持"点符号",如下所示:

<form>
    <input name="Property.Items[0].Text" value="item 1" />
    <input name="Property.Items[0].Value" value="1" />
    <input name="Property.Items[1].Text" value="item 2" />
    <input name="Property.Items[1].Value" value="2" />
</form>
Run Code Online (Sandbox Code Playgroud)

给出$('form').serializeArray()产生以下内容:

[{"name":"Property.Items[0].Text","value":"item 1"},
 {"name":"Property.Items[0].Value","value":"1"},
 {"name":"Property.Items[1].Text","value":"item 2"},
 {"name":"Property.Items[1].Value","value":"2"}]
Run Code Online (Sandbox Code Playgroud)

我怎样才能达到以下所需的结果:

{Property: {Items: [{Text: 'item 1', Value: '1'},
                    {Text: 'item 2', Value: '2'}]} }
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

编辑:具体来说,所需的代码将被添加到serializeObject扩展中,这样除了它现在的工作方式之外,它还将支持上述约定.这是现有的方便方法.

$.fn.serializeObject = function() {
    var o = {};
    var a = this.serializeArray();
    $.each(a, function() {
        if (o[this.name]) {
            if (!o[this.name].push) {
                o[this.name] = [o[this.name]];
            }
            o[this.name].push(this.value || ''); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery serialization

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

如何使用jQuery从表单元素创建javascript对象

我希望能够从我的html表单创建一个javascript对象,并想知道是否有一个使用jquery这样做的好方法.我想我正在寻找的东西类似于$ .serialize,但这会导致地图而不是字符串.

<form>
  <input type="text" name="foo1" value="bar1" />
  <input type="text" name="foo2" value="bar2" />
</form>
Run Code Online (Sandbox Code Playgroud)

期望的结果:

{ foo1:"bar1", foo2:"bar2" }
Run Code Online (Sandbox Code Playgroud)

html forms jquery serialization

3
推荐指数
1
解决办法
6041
查看次数

需要html复选框标签来包装"很好"

我有一个复选框网格,每个单元格都有一个固定的宽度,每个复选框前面都有一个小图像.如果标签文本太长,我很难将文本包装在复选框下面.

截图1

参考上面的屏幕截图,我希望"文本包装"与复选框对齐,而不是包裹在图像下方,如下所示:

截图2

我用我当前的标记和样式设置了一个小提琴.我无法改变的是HTML结构,但任何CSS更改都可以.

这是一段代码:

.checkbox-list {
}
img.placeholder{
    width:16px;
    height:16px;
    background-color:lightblue;
}
td {
    padding:2px;
    width:150px;
    vertical-align:top;
}
label {
    /*display:inline-block;*/
}
Run Code Online (Sandbox Code Playgroud)
<table class="checkbox-list">
    <tbody><tr>
        <td>
            <img class="placeholder"/>
            <label>
                <input type="checkbox"/>
                <span>Some really long text that wraps</span></label></td>
        <td>
            <img class="placeholder"/>
            <label>
                <input type="checkbox"/>
                <span>Foo</span></label></td>
        <td>
            <img class="placeholder"/>
            <label>
                <input type="checkbox"/>
                <span>Foo</span></label></td>
    </tr><tr>
        <td>
            <img class="placeholder"/>
            <label>
                <input type="checkbox"/>
                <span>Foo</span></label></td>
        <td>
            <img class="placeholder"/>
            <label>
                <input type="checkbox"/>
                <span>Foo</span></label></td>
        <td>
            <img class="placeholder"/>
            <label>
                <input type="checkbox"/>
                <span>Foo</span></label></td>
    </tr>
</tbody></table>
Run Code Online (Sandbox Code Playgroud)

html css checkbox

3
推荐指数
1
解决办法
2万
查看次数

使用变量标签的SQL GOTO语句

我希望能够做到这样的事情:

declare @label varchar
set @label = 'label_1'
goto @label

label_1:

label_2:
Run Code Online (Sandbox Code Playgroud)

当然,sql server给了我一个不正确的语法错误...所以我想知道我是否仍然可以用略有不同的语法来做到这一点?

sql sql-server goto

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