jquery按键替换json中的字符或字符串

发布于 2024-12-02 02:56:36 字数 420 浏览 1 评论 0原文

全局 Json 对象,通过 ajax post 调用 php 初始化并返回值 像下面这样(

$arr = array('h' => 'html', 'l' => 'li', 'p' => 'pre', 'd' =>'dom', 'e' => 'element'); 
echo json_encode($arr);

我可以在 jQuery 中获取 json 对象的值。

有一个 ketpress 事件映射到的文本框。用户是否可以在文本框中键入字母 h它应该替换为值 json_obj['h'] 而不是 h,即 html,其中 json_obj 是保存 json 对象的变量。

Global Json object which is initialized through ajax post call to php and it returns values
like following(

$arr = array('h' => 'html', 'l' => 'li', 'p' => 'pre', 'd' =>'dom', 'e' => 'element'); 
echo json_encode($arr);

I can get the value of json object in jQuery.

There is a textbox to which ketpress event is mapped. Is it possible where user type the letter h in textbox instead of h it should replaced with value json_obj['h'] that is html. Where json_obj is variable which hold the json object.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

伴我老 2024-12-09 02:56:36

这里有很多问题: 最终示例

json_encode php 数组:echo json_encode($arr);

jquery ajax

 var lookUpObject;
 $.getJSON({
     'something.php',
      success: function (data) {
         lookUpObject = data;
      }
 });

然后 按键

var LookUpObject = {
h: 'html',
p: 'php'
};

$(document).ready(function() {
    $('input').keypress(function (event) {
        var result = lookUpObject [String.fromCharCode(event.which)];

        if (result) {
            var val = $(this).val();
            $(this).val(val + result);
            event.preventDefault();
        }
    })
});

A lot of questions in here: final example

json_encode the php array: echo json_encode($arr);

jquery ajax

 var lookUpObject;
 $.getJSON({
     'something.php',
      success: function (data) {
         lookUpObject = data;
      }
 });

then keypress

var lookUpObject = {
h: 'html',
p: 'php'
};

$(document).ready(function() {
    $('input').keypress(function (event) {
        var result = lookUpObject [String.fromCharCode(event.which)];

        if (result) {
            var val = $(this).val();
            $(this).val(val + result);
            event.preventDefault();
        }
    })
});
月牙弯弯 2024-12-09 02:56:36

这将捕获 keyup 事件并使用按下的键将文本框的文本替换为数组中的文本。请注意,虽然我没有进行任何验证或错误检查(例如按下的键是否存在于数组中),但您可能应该这样做。

$('#inputID').keyup(function(e) {
  var key = String.fromCharCode(e.which);
  $(this).val($arr[key]);
});

This will capture keyup events and use the key pressed to replace the textbox's text with what is in your array. Notice though I did not put in any validation or error checking (such as if key pressed exists in array) which you should probably do.

$('#inputID').keyup(function(e) {
  var key = String.fromCharCode(e.which);
  $(this).val($arr[key]);
});
亽野灬性zι浪 2024-12-09 02:56:36

首先检查用户按下的项目是否在数组中。如果是这样,则阻止默认操作并把那个值。

First of all check, does item user pressd is in array. If so, then prevent default action and put that value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文