如何使用jquery键值数组?
how to use jquery key value array?
我需要帮助为我遇到的这个 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,请帮忙。
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
,因为有多种可能的按钮。
我需要帮助为我遇到的这个 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,请帮忙。
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
,因为有多种可能的按钮。