【问题标题】:how to use jquery key value array?如何使用 jquery 键值数组?
【发布时间】:2016-02-16 10:52:50
【问题描述】:

我需要帮助为我遇到的这个 jQuery 代码添加一个键值数组。该代码完全符合我的需要,只是我需要多个输入,这与它提供的单个输入不同。

jQuery("#btn").on('click', function() {
    var caretPos = document.getElementById("txt").selectionStart;
    var textAreaTxt = jQuery("#txt").val();
    var txtToAdd = "stuff";
    jQuery("#txt").val(textAreaTxt.substring(0, caretPos) + txtToAdd + textAreaTxt.substring(caretPos) );
});
<textarea id="txt" rows="15" cols="70">There is some text here.</textarea>
<input type="button" id="btn" value="OK" />

here

我想要一个数组,例如:

OK => stuff,
YES => more stuff,
NO => no stuff

我对jQuery不太熟悉,请帮忙。

【问题讨论】:

  • 是不是要三个不同值的按钮?
  • @RomanPerekhrest 是的,没错

标签: jquery html arrays key-value


【解决方案1】:

Javascript 没有带字符串键的数组,只有索引数组。但是您可以为此目的使用对象。
如下所示更改您的代码:

<textarea id="txt" rows="15" cols="70">There is some text here.</textarea>
<input type="button" class="btn" value="OK" />
<input type="button" class="btn" value="NO" />
<input type="button" class="btn" value="YES" />

$(".btn").on('click', function() {
    var caretPos = document.getElementById("txt").selectionStart;
    var textAreaTxt = $("#txt").val();
    var txtSet = {'ok' : 'stuff', 'yes' : 'more stuff', 'no' : 'no stuff'};
    var txtToAdd = txtSet[$(this).val().toLowerCase()];
    $("#txt").val(textAreaTxt.substring(0, caretPos) + txtToAdd + textAreaTxt.substring(caretPos) );
});

现在您可以轻松扩展对象txtSet,因为有多种可能的按钮。

http://jsfiddle.net/3pg5zmqg/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-18
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    相关资源
    最近更新 更多