2017-01-09 4 views
1

У меня есть несколько перетащить и сортные уль-х .... Теперь мне нужно установить скрытый поле ввода «область []» значение то же значение ул приписывать местоположениеJQuery: изменение входного сигнала VAL basend на родительском сНу идентификатор

<ul id='sortlistThree' location='1' class='connectMe sort'> 
    <li> 
    <form class='sort'> 
     <input type='hidden' name='area[]' class='dienstplan' data='getform' value='' /> 
    </form> 
    </li> 
    <li> 
    <form class='sort'> 
     <input type='hidden' name='area[]' class='dienstplan' data='getform' value='' /> 
    </form> 
    </li> 
</ul> 

<ul id='sortlistThree' location='2' class='connectMe sort'> 
    <li> 
    <form class='sort'> 
     <input type='hidden' name='area[]' class='dienstplan' data='getform' value='' /> 
    </form> 
    </li> 
</ul> 

<ul id='sortlistThree' location='3' class='connectMe sort'> 
    <li> 
    <form class='sort'> 
     <input type='hidden' name='area[]' class='dienstplan' data='getform' value='' /> 
    </form> 
    </li> 
</ul> 

ответ

1

Использование JQuery вы можете сделать это так, я удалил hidden, чтобы вы могли видеть, что происходит.

$('input[name="area[]"]').each(function(){ 
 
    $(this).attr('value',$(this).closest('ul').attr('location')); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul id='sortlistThree' location='1' class='connectMe sort'> 
 
    <li> 
 
    <form class='sort'> 
 
     <input name='area[]' class='dienstplan' data='getform' value='1' /> 
 
    </form> 
 
    </li> 
 
</ul> 
 

 
<ul id='sortlistThree' location='2' class='connectMe sort'> 
 
    <li> 
 
    <form class='sort'> 
 
     <input name='area[]' class='dienstplan' data='getform' value='1' /> 
 
    </form> 
 
    </li> 
 
</ul> 
 

 
<ul id='sortlistThree' location='3' class='connectMe sort'> 
 
    <li> 
 
    <form class='sort'> 
 
     <input name='area[]' class='dienstplan' data='getform' value='1' /> 
 
    </form> 
 
    </li> 
 
</ul>

+0

Я хотел бы использовать [ '.closest()'] (https://api.jquery.com/closest/) вместо '.parents()', потому что [*. parent() * добавит ** каждого ** предка до корня, а * .closest() * останавливается, как только найдет совпадение] (https://api.jquery.com/closest/#entry-longdesc) – myfunkyside

+0

@myfunkyside думаю, что вы правы, я отредактирую –

+0

И если вы измените '$ ('input') каждый (' to '$ ('input [name =" area [] "]'). Each (', вам не нужен if-clause – myfunkyside

Смежные вопросы