Похоже, что плохое форматирование HTML. Я думаю, что вы были бы в порядке, если бы вы реструктурировали блок if
чуть выше проблемной области. Вот что я вижу:
...
if ($show_payment == 1)
{
?>
<div>
<label>...</label>
<? Link_Payment_Preferences();?>
<? } else {?>
<input name="F_Payment_Preference" type="hidden" id="F_Payment_Preference" value="check" />
</div>
<?
}
...
Вы видите проблему? Если $show_payment == 1
, вы запускаете <div>
, но не закрываете его. Если $show_payment != 1
(еще), то вы закрываете неоткрытое <div>
UPDATE
Таким образом, ответ - лучше отформатировать ваш код:
...
if ($show_payment == 1)
{
?>
<div>
<label>...</label>
<? Link_Payment_Preferences();?>
</div>
<? } else {?>
<div>
<label>...</label>
<input name="F_Payment_Preference" type="hidden" id="F_Payment_Preference" value="check" />
</div>
<?
}
...
Видите разницу? Мы должны закрыть это div
в любой ветви вашей логики. В противном случае, jQuery Mobile может привести к неожиданным результатам, так как DOM неправильно сконструирован.
Надеюсь, это поможет.