2012-10-13 84 views
2

我只是想知道Jeditable Plugin的一件事。我已经在使用它,它工作的很好,但如果我需要输入类型数字呢?该demo examples盖:文本,选择文本和不同的事件Jeditable中的输入类型编号

,如果我需要在事件点击指定输入型号什么?

这是我的代码:

$('.click').editable(function(value, settings) { 
    console.log(this); 
    console.log(value); 
    console.log(settings); 
    return(value); 
    }, { 
     event  : "click", 
     submit : 'OK', 
     style : "inherit" 
}); 

回答

0

好吧,我已经在这样做的话,它看起来工作:

我已经先在我jquery.jeditable.js增加了一个新的输入型

number: { 
     element : function(settings, original) { 
      var input = $('<input type="number">'); 
      if (settings.width != 'none') { input.attr('width', settings.width); } 
      if (settings.height != 'none') { input.attr('height', settings.height); } 
      /* https://bugzilla.mozilla.org/show_bug.cgi?id=236791 */ 
      //input[0].setAttribute('autocomplete','off'); 
      input.attr('number','off'); 
      $(this).append(input); 
      return(input); 
     } 
    }, 

然后我在HTML页面中创建的脚本:

在我的HTML
$('.number').editable(function(value, settings) { 
    console.log(this); 
    console.log(value); 
    console.log(settings); 
    return(value); 
    }, { 
    type : 'number', 
    style : "inherit" 
}); 

这里

<p class="number" style="text-align: right;">000,00</p> 
2

或简单地创建自己的自定义类型一样描述文档: http://www.appelsiini.net/2007/custom-input-types

这应该工作得很好:

$.editable.addInputType('number', { 
    element : function(settings, original) { 
     var input = $('<input type="number">'); 
     $(this).append(input); 
     return(input); 
    }, 
    submit : function (settings, original) { 
     if (isNaN($(original).val())) { 
      alert('You must provide a number') 
      return false; 
     } else { 
      return true; 
     } 
    } 
}); 

然后:

$('.edit_number').editable(page_url, 
    { 
     type: 'number' 
    } 
);