【问题标题】:Setting Default value of input textbox in Jquery EasyUI dialog在 Jquery EasyUI 对话框中设置输入文本框的默认值
【发布时间】:2014-10-28 08:14:24
【问题描述】:

我已经用谷歌搜索并查看了整个文档,但无法弄清楚为什么没有显示输入文本的值。我正在使用 FireFox 最新版本,以下是我目前所做的。

 <input name="amount" class="easyui-validatebox" id="d_amount" value="">

在普通的html或php页面中我们可以给value="300"设置默认值,但在EasyUI中,这是不可能的。所以我在想可能的替代方案,如下所示:

  <script>
   var m = '300';
   document.getElementById("d_amount").value.innerHTML=m;
  </script>

没有显示任何内容,我没有收到任何错误。任何EasyUI专家,请帮助我。

注意:此输入字段在对话框内

【问题讨论】:

    标签: javascript input dialog jquery-easyui


    【解决方案1】:

    要设置默认值,你必须设置 value 属性。但是,这并不一定会更新 value 属性,因此您需要两者都做。所以给定:

    <input name="amount" class="easyui-validatebox" id="d_amount" value="">
    

    通过设置value属性设置默认值:

    var input = document.getElementById('d_amount')
    input.setAttribute('value', 'whatever');
    

    现在设置 value 属性:

    input.value = 'whatever';
    

    请注意,您还可以将输入作为其所在表单的成员来获取引用:

    var input = document.formName.d_amount;
    

    【讨论】:

    • 感谢您的意见。 Easyui 可能不允许以这种方式设置 value 属性,因为这也不能解决。
    • 不是那么容易吗? ;-)
    【解决方案2】:

    使用下面的代码

    $("#d_amount").numberbox({
        min:0,
        precision:2,
        value:300
    
    })
    

    参考:numberbox

    或者试试这个

    $("#d_amount").textbox({
        buttonText:'Search',
        iconCls:'icon-man',
        iconAlign:'left',
        value:"300"
    });
    

    参考:textbox

    【讨论】:

    • 仍然无法正常工作。解决方案很可能在 Easyui 代码中。起初,我正在尝试$('#d_amount').validatebox('setValue', m); 之类的方法,但无法成功。
    • 谢谢 Ridwan。但我的问题是文本框,而不是数字框。我试过你的代码,不幸的是它也不起作用。你自己试过easyui形式的代码吗?
    • 0.00 是我得到的输出。
    【解决方案3】:

    使用此代码设置$(document).ready(function(){}中的值

      ....
      $("#d_amount").numberbox('setValue','300');
      ....
    

    如果还是不行,试着把nameid设置成同名和同名

    <input name="d_amount" class="easyui-validatebox" id="d_amount" value="">
    

    我一直在使用这个数字框,它正在工作

    【讨论】:

    • 我正在使用对话框中的输入字段。
    【解决方案4】:

    我找到了你的帖子,因为我也遇到了同样的问题,我今天刚刚遇到这个问题。您的情况与我的情况有些不同(也许),因为您想设置默认值,用户稍后可以更改(我相信)。就我而言,该值将是固定的(不会更改),因此我应用了一个技巧,希望它可以为您和遇到相同问题的其他人提供一些想法。请参考:

    在第一页说pageA.php:

    <select name="myThing" id="myThing">
        <option value="Your Desired Value" selected="selected">Something</option>
    </select>
    

    仍然在同一页面,在您的$(document).ready( function(){ 下输入以下代码:

    $("#myThing").val($("#myThing option:first").val());
    

    该代码是为了确保您想要的值出现在下拉列表的第一行。我这样说是因为在 EasyUI 中,当我使用下拉并放置单个选项时,第一行将是空白的,第二行将保存您的输入。这就是确保您想要的值出现在顶部并被选中的技巧。将select 放在form 下,然后在正常发布时,您将能够在发布页面中获取它的值。享受。谢谢。

    建议:如果您的值可以由用户更改,请使用placeholder,您可以使用我的技巧对用户隐藏默认值。

    【讨论】:

      【解决方案5】:

      试试这个

       document.getElementById("d_amount").value=m;
      

      你不需要innerHTML

      【讨论】:

        【解决方案6】:

        我找到了答案here。诀窍是使用$(function(){});中的代码

        $(function(){
            var m=300;
            $('#d_amount').textbox('setValue', m);
        });
        

        【讨论】:

          【解决方案7】:

          我也有这个问题,用下面的方法解决了

          首先我的输入是这样的:

          <input name="hostFirstName" id="hostFirstName"  class="easyui-textbox">
          

          我需要从数据库加载内容,然后用这些数据预填充输入,以便用户可以编辑内容。 我使用了以下 javascript。

          注意:我没有将它隐藏在匿名函数()中,它正在工作。我首先从 F12 控制台对此进行了测试,以确保在更改我的代码之前它可以正常工作。

          //populate with existing data
          $('#hostFirstName').textbox('setValue', "Is this working?");
          

          当您查看文本框 api 参考时,jeasyui.com 上的文档未提供此示例。但是在查看组合框 (http://www.jeasyui.com/documentation/index.php#) 时,它们确实提供了一个示例,组合框和文本框使用相同的 setValue 方法。

          希望这对你有用,就像对我一样。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-07-21
            • 1970-01-01
            • 2012-03-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多