[英]jQuery add input fields and handle select change event
我想克隆一行输入1或选择和1选择字段。 取决于第一个选择的值,它应该将第二个更改为输入或选择字段。 它适用于父级,但不适用于克隆。
jQuery("body").delegate("p", "click", function(){
var $tr = jQuery(this).closest('.tr_clone');
var $clone = $tr.clone();
$tr.after($clone);
});
jQuery('.art_der_fahrt').hide();
jQuery('.wert_input').show();
jQuery(".fahrtenbuch_aenderungen").change(function() {
if(jQuery(this).val() == '52') {
jQuery(this).parent('td').next('td').children(".art_der_fahrt").show();
jQuery(this).parent('td').next('td').children('.wert_input').hide();
}
else {
jQuery(this).parent('td').next('td').children(".art_der_fahrt").hide();
jQuery(this).parent('td').next('td').children('.wert_input').show();
}
});
<td>
<select class="fahrtenbuch_aenderungen" name="fahrtenbuch_aenderungen">
<option></option>
<option value="24">Fahrtziel</option>
<option value="23">Besuchte Personen / Firmen / Objekte</option>
<option value="3">Fahrer</option>
<option value="52">Art der Fahrt</option>
<option value="14">Fahrzeugstandort</option>
<option value="111">Fahrtzweck</option>
</select>
</td>
<td>
<input value="" class="wert_input" name="wert" type="text">
<span class="art_der_fahrt">
<select tabindex="111" class="test" name="select">
<option></option>
<option value="Dienstfahrt">Dienstfahrt</option>
<option selected="selected" value="Wohnung">Wohnung</option>
<option value="Bereitschaft">Bereitschaft</option>
<option value="3">Fahrer</option>
<option value="52">Privatfahrt</option>
<option value="Familienheimfahrt">Familienheimfahrt</option>
</select>
</span>
</td>
<td colspan="2">
<p>Click me!</p>
</td>
使用.on
jQuery(document).on("click", "p", function(){
也
jQuery(".fahrtenbuch_aenderungen").on('change',(function() {
因为.on已经取代了.live
和.bind
以及.delegate
。 和。对也比其他快.. http://jsperf.com/bind-vs-live-vs-delegate-vs-on/5
你绑定了改变监听器 -
jQuery(".fahrtenbuch_aenderungen").change(function() {
- 在只有一个select
元素的时候。 只有那个元素才有听众。 你也需要在这里使用代表:
jQuery("body").delegate(".fahrtenbuch_aenderungen", "change", function() {
在这里使用.delegate
,假设您在自己的帖子中使用它,假设使用旧版本的jQuery。 正如其他人所指出的那样,你应该更喜欢.on
是否可用。
使用以下
$("td > p").on("click", function(){
// your code here
});
“on”可以将事件绑定到动态生成的dom
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.