Jquery调用输入id

时间:2014-11-28 07:21:00

标签: jquery

<input id="IsCaseReviewsAddCarForm:stateNumber4" class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all" type="text" title="Улсын дугаар" name="IsCaseReviewsAddCarForm:stateNumber4" role="textbox" aria-disabled="false" aria-readonly="false" aria-multiline="false"></input>

jQuery(function ($) {
$("#stateNumber4").mask("9999aaa");;

我如何调用此Jquery的输入ID。

Thanx all。但仍然没有工作。 我的XHML inputText在这里:

<p:inputText id="stateNumber4" type="text" value="#{isCaseReviewsController.current.isReviewsItemsAPK.stateNumber}" title="Улсын дугаар" required="true" requiredMessage="Улсын дугаар оруулна уу"/>

在Inspect元素之后编译它是:

<input id="IsCaseReviewsAddCarForm:stateNumber4" class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all" type="text" title="Улсын дугаар" name="IsCaseReviewsAddCarForm:stateNumber4" role="textbox" aria-disabled="false" aria-readonly="false" aria-multiline="false"></input>

输入掩码正在处理另一页,但该页面没有表单或对话框。我自己的这个页面有dialog-&gt; form-&gt;输入。 我认为主要问题是jquery函数无法调用我的输入id。

4 个答案:

答案 0 :(得分:2)

您在ID中使用:,因此您需要将其转义。

使用

$("#IsCaseReviewsAddCarForm\\:stateNumber4").mask("9999aaa");

Docs

  

使用任何元字符(例如!“#$%&amp;'()* +,。/:;&lt; =&gt;?@ [] ^`{|}〜)作为文字作为名称的一部分,必须使用两个反斜杠进行转义:\\。

使用Attribute Equals Selector [name="value"]

$("[id='IsCaseReviewsAddCarForm:stateNumber4']").mask("9999aaa");

但是,我建议您从ID中删除:

答案 1 :(得分:0)

从id中删除冒号“:”。设为<input id="IsCaseReviewsAddCarForm_stateNumber4" ...>$("#IsCaseReviewsAddCarForm_stateNumber4")应该有用。

答案 2 :(得分:0)

你需要转义它,目前被理解为过滤器选择器:

$("#IsCaseReviewsAddCarForm\\:stateNumber4").mask("9999aaa");;

请参阅此article for more information

还要考虑以下示例:

<input id="ehsan.sajjad" type="text"/>

现在,如果我使用以下方法编写它来更改其值:

$("#ehsan.sajjad").val("SOmeValue"); // will not work as . will understood it that element with id ehsan and class sajjad

但使用\\转义会使其正常运行:

$("#ehsan\\.sajjad").val("SOmeValue"); // now will work now it understands its id whose value is ehsan.sajjad

演示示例:

&#13;
&#13;
$(function(){


$("#ehsan\\.sajjad").val("Ehsan Sajjad");

})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="ehsan.sajjad"/>
&#13;
&#13;
&#13;

虽然这不起作用:

&#13;
&#13;
$(function(){


$("#ehsan.sajjad").val("Ehsan Sajjad");

})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="ehsan.sajjad"/>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

这应该有用。

&#13;
&#13;
jQuery(function($) {
  $("##IsCaseReviewsAddCarForm\\:stateNumber4").mask("9999aaa");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="IsCaseReviewsAddCarForm:stateNumber4" class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all" type="text" title="Улсын дугаар" name="IsCaseReviewsAddCarForm:stateNumber4" role="textbox" aria-disabled="false" aria-readonly="false"
aria-multiline="false"></input>
&#13;
&#13;
&#13;

另请参阅此问题以获取有效身份证明 - What are valid values for the id attribute in HTML?