循环或通配符通过JQuery UI Javascript集成

我通过类似于此的AJAX调用PHP文件的内容:</ p>

< p> NEW.PHP </ p>

  $ output ='&lt; p&gt;日期:&lt; input type =“text”id =“field_1”&gt;&lt; / p&gt; \  n&lt; p&gt;日期:&lt; input type =“text”id =“field_6”&gt;&lt; / p&gt; 
&lt; p&gt;日期:&lt; input type =“text”id =“field_7”&gt; &lt; / p&gt;';

echo $ output;
</ code> </ pre>

输入是根据用户选择的选项动态生成的。 在这种情况下,field_1和field_7将是日期选择器字段,field_6将是标准文本框。</ p>

在我的主页面中,jQuery成功处理程序如下所示:</ p> \ n

  success:function(result){
jQuery('#div-custom')。html(result).show();

jQuery(“#div-custom”)。find(“#field_1,#field_7”)。datepicker({
numberOfMonths:3,
showButtonPanel:true
});
}
</ code > </ pre>

我遇到的问题是日期选择器字段的数量是动态的,字段编号field_X可以是不同的。 有没有办法让这个 find(“#field_1,#field_7”)</ code>动态或使用通配符? 我可以更改我的PHP代码,例如,所有日期选择器字段都称为date_X,其他字段是field_X。 </ p>

在这种情况下,我想做 find(“#date _ *)</ code>之类的事情,但不知道是否可能。我绝对是 Javascript不强。</ p>

非常感谢任何帮助!</ p>
</ div>

展开原文

原文

I am calling the content of a PHP file via AJAX similar to this:

NEW.PHP

$output =  '<p>Date: <input type="text" id="field_1"></p>
            <p>Date: <input type="text" id="field_6"></p>
            <p>Date: <input type="text" id="field_7"></p>';

echo $output;

The inputs are generated dynamically depending on options the user selected. In this case, field_1 and field_7 would be date picker fields and field_6 would be a standard text box.

In my main page, the jQuery success handler looks like this:

success: function(result){
    jQuery('#div-custom').html(result).show();                
    jQuery("#div-custom").find("#field_1,#field_7" ).datepicker({
              numberOfMonths: 3,
              showButtonPanel: true
    });
}

The issue I'm having is that the number of date picker fields is dynamic and the field number field_X can be different. Is there a way to make this find("#field_1,#field_7") dynamic or use a wildcard? I can change my PHP code so that, for example, all date picker fields are called date_X and other fields are field_X.

In that case, I'd like to do something like find("#date_*) but don't know if that's possible. I'm definitely not strong with Javascript.

Really appreciate any help!

2个回答



您应该使用 class </ code>,因为您可以在多个项目上使用相同的类,而不像 id < / code> s </ p>

&lt; p&gt;日期:&lt; input type =“text”class =“cal”id =“field_X”&gt;&lt; / p&gt; < /code>

jQuery("#div-custom").find(".cal“)。datepicker({</ code> </ p>
</ DIV>

展开原文

原文

You should use a class as you can use the same class on multiple items unlike ids

<p>Date: <input type="text" class="cal" id="field_X"></p>

jQuery("#div-custom").find(".cal" ).datepicker({

doujizhong8352
doujizhong8352 看起来它只是与jQuery UI的CSS冲突。 都好。 真的很感激帮助!
接近 5 年之前 回复
du512926
du512926 你好! 谢谢你 - 这完美无缺。 它导致的唯一奇怪的问题是字段标签没有出现。 这是HTML / PHP代码:'<p class =“fieldLabel”>'。$ LABEL。':</ p> <input name =“field _'。$ custom_id。'”id =“field _'。$ custom_id。' “type =”text“class =”inputTextDatePicker“placeholder =”“value =”'。$ fieldValue。'“maxlength =”10“/> <br />'; 如果我直接查看PHP页面,则会出现fieldLabel。 但是当它通过AJAX在主页面上呈现时,它就会丢失....?!
接近 5 年之前 回复



如果你完全依赖于id,那么你可以在输入元素上使用'starts with'选择器。</ p>

  $(“#div-custom input [id ^ ='field']”)。datepicker({
</ code> </ pre>

这将是 适用于带有ID的所有输入,以id ='div-custom'的div中的'field'开头。</ p>
</ div>

展开原文

原文

If you rely completely on the ids, then you can use 'starts with' selector on the input elements.

$("#div-custom input[id^='field']").datepicker({

This would be applicable on all input with ids starts with 'field' within a div with id ='div-custom'.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐