如何使用javascript

时间:2015-08-11 06:14:18

标签: javascript jquery html autocomplete struts2

我正在使用struts2-jquery-plugin-3.7.1.jar插件,在我的表单中我使用的是sj:autocompleter元素

<sj:autocompleter id="paymentTypeCode" name="paymentTypeCode" list="paymentTypeDropdownMap" selectBox="true" selectBoxIcon="true"/>

萤火虫显示生成的html如下 -

<input id="paymentTypeCode" value="" name="paymentTypeCode" type="hidden">
<select style="display: none;" name="paymentTypeCode_widget" id="paymentTypeCode_widget">
    <option value=""></option>
    <option value="1">Cash</option>
    <option value="2">Cheque</option>
    <option value="3">DD</option>


</select><span class="s2j-combobox"><span class="ui-helper-hidden-accessible" aria-live="polite" role="status">3 results are available, use up and down arrow keys to navigate.</span><input autocomplete="off" class="s2j-combobox-input ui-autocomplete-input" title=""><a title="" aria-disabled="false" role="button" class="ui-button ui-widget ui-state-default ui-button-icon-only s2j-combobox-toggle ui-corner-right" tabindex="-1"><span class="ui-button-icon-primary ui-icon ui-icon-triangle-1-s"></span><span class="ui-button-text"></span></a></span>

<script type="text/javascript">
jQuery(document).ready(function () {
    var options_paymentTypeCode_widget = {};
    options_paymentTypeCode_widget.hiddenid = "paymentTypeCode";
    options_paymentTypeCode_widget.selectBox = true;
    options_paymentTypeCode_widget.selectBoxIcon = true;
    options_paymentTypeCode_widget.forceValidOption = true;

    options_paymentTypeCode_widget.jqueryaction = "autocompleter";
    options_paymentTypeCode_widget.id = "paymentTypeCode_widget";
    options_paymentTypeCode_widget.name = "paymentTypeCode_widget";
    options_paymentTypeCode_widget.href = "#";
    options_paymentTypeCode_widget.formids = "sysForm";


jQuery.struts2_jquery_ui.bind(jQuery('#paymentTypeCode_widget'),options_paymentTypeCode_widget);

 });
</script>

我想使用带有按钮元素的javascript重置自动完成选项 -

<input type="button" value=" Reset " onclick="resetSelection();">

javascript如下 -

<script>
function resetSelection(){
document.getElementById("paymentTypeCode").value="";//Resets the selected value

//To reset the input text displayed
$("#paymentTypeCode input").resetCSS();//Not working

$("#paymentTypeCode").val("");//Not working

$("#paymentTypeCode_widget").val("");//Not working
}
</script>

我能够重置隐藏字段中的选定值,但我正在努力显示输入文本,我尝试了许多选项,但似乎没有任何工作&amp;输入文本似乎没有任何效果。

在我的一些表单中,我有多个自动完成元素&amp;基于少量验证需要重置的东西才能工作。我知道生成的输入文本需要有针对性,但它没有任何ID。

1 个答案:

答案 0 :(得分:0)

对于迟到的回复感到抱歉我想用我当时使用的解决方案关闭这个待处理的问题。这是 -

function resetSelection(){
    $('.s2j-combobox').find('input').val('');
}

注意 - 如果表单上有多个sj:autocompleter小部件,请确保使用最接近的唯一父元素ID或类来查找.s2j-combobox

希望这有助于有人遇到同样的问题。