2014-10-28 6 views
0

У меня есть googled и посмотрел всю документацию и не мог понять, почему значение входного текста не отображается. Я использую последнюю версию FireFox, а ниже - то, что я сделал до сих пор.Установка значения по умолчанию для ввода текстового поля в диалоговом окне JQuery EasyUI

<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, пожалуйста, помогите мне.

Примечание: это поле ввода находится внутри диалога

ответ

0

Я нашел ответ here. Хитрость заключается в том, чтобы использовать код внутри $(function(){});

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

попробовать это

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

вам не нужно innerHTML

+0

все еще не работает, попробовал сам. –

2

использовать следующий код

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

}) 

Reference : numberbox

Или попробуйте это один

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

Код: textbox

+0

все еще не работает. Решение, скорее всего, будет в коде Easyui. Сначала я пытаюсь что-то вроде '$ ('# d_amount'). Validatebox ('setValue', m) ;, но не смог заставить его работать. –

+0

Попробуйте отредактированный код. –

+0

Спасибо Ridwan. Но мой вопрос - текстовое поле, а не номер. Я пробовал ваш код и, к сожалению, он тоже не работает. Вы сами пробовали код в форме easyui? –

2

Чтобы установить значение по умолчанию, вы должны установить значение атрибута. Однако это необязательно обновляет свойство value, поэтому вам нужно сделать то и другое. Поэтому, учитывая:

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

установить значение по умолчанию, установив значение атрибута:

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

Теперь установите свойство значения:

input.value = 'whatever'; 

Обратите внимание, что вы можете также получить ссылку на ввод в качестве члена формы, в которой он находится:

var input = document.formName.d_amount; 
+1

спасибо за ваш вклад. Easyui может не позволить устанавливать атрибут value таким образом, поскольку это также не помогает. –

+1

Не так просто? ;-) – RobG

1

использовать этот код, чтобы установить значение внутри $(document).ready(function(){}

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

, если до сих пор не работает, попробуйте установить name и id под тем же именем и идентификатором

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

Я всегда работаю с этим numberbox и он работает

+1

Я использую поле ввода внутри диалога. –

1

Я нашел вашу нить, потому что у меня тоже такая же проблема, и сегодня у меня есть это. Ваш случай немного отличается (может быть), тогда мой случай, потому что вы хотите установить значение по умолчанию, которое может быть изменено пользователем позже (я считаю). В моем случае значение будет исправлено (не будет изменено), поэтому я применил трюк и, надеюсь, он может дать вам некоторые идеи и другие, имеющие такую ​​же проблему.Пожалуйста, обратитесь ниже:

В первой страницы говорит 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, и вы можете скрыть значение по умолчанию от пользователя, используя мой трюк.

0

Я тоже была эта проблема, и она была решена с помощью следующей

Первый мой вход был в форме, как это:

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

I необходимо загрузить контент из db, а затем предварительно заполнить ввод этими данными, чтобы пользователь мог редактировать содержимое. Я использовал следующий javascript.

ПРИМЕЧАНИЕ: Я не скрывал это в анонимной функции(), и он работает. Я проверил это сначала с консоли F12, чтобы убедиться, что он работает до изменения моего кода.

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

Документы на jeasyui.com не дают этот пример, когда вы смотрите на ссылке текстового поля апи. Но они дают пример при просмотре combobox (http://www.jeasyui.com/documentation/index.php#), в поле со списком и текстовое поле используется один и тот же метод setValue.

Надеюсь, это сработает для вас, как для меня.