【问题标题】:Retain values in jquery在 jquery 中保留值
【发布时间】:2013-09-05 12:16:08
【问题描述】:

我有 4 个下拉菜单,即 dd1(parent)、dd2、dd3、dd4,最后三个下拉菜单的初始值为 null。

我使用 ajax 从父下拉列表中获取最后三个下拉列表。

我已经使用 php 验证(mkValid)来验证下拉菜单是否为空。

问题是当我在前 2 个下拉列表中选择一个值并且当我单击提交时,它得到验证,但页面被刷新并且前两个下拉列表中的选定值变为空。所以,我需要保留这些值,直到所有下拉菜单都有值。我在 jquery 中使用了 ajax.stop() 但没有用。帮助!

【问题讨论】:

  • code plx 否则我们几乎帮不了你。
  • 您可以在php中编写一个函数,如果您需要的变量被验证,然后将验证的下拉设置为值
  • 你没有展示你的验证脚本,所以很难回答。尝试,返回false;在 javascript 中缺少的每个值中。
  • 我使用验证类,如 public function val(){ $error = array(); if(!$this->mkValid($post['hid'],'req')) $error['hid'] = "这是req";返回$错误;我将它分配给一个 smarty tpl 文件。我尝试返回 false,但它停止了我的 php 验证。

标签: php javascript jquery ajax


【解决方案1】:

您必须在客户端验证下拉菜单。 PHP 是服务器端的,只有在将其发布到服务器后才进行验证。这发生在您点击“提交”之后。

向我们展示您的代码;)

阻止提交:

$('#form_id').submit(function(e) {
   e.preventDefault();
   // or
   //return false;
})

【讨论】:

  • 我使用类 public function val(){ $error = array(); if(!$this->mkValid($post['hid'],'req')) $error['hid'] = "这是req";返回$错误; } 我把它分配给一个 smarty tpl 文件。
  • 嗯好吧,你可以在验证功能中阻止提交。
【解决方案2】:

你可以这样做:

<select name="dropdown">
   <option value="1" <?php echo isset($_POST["dropdown"]) && $_POST["dropdown"] == "1" ? "selected"; ?> >Option 1</option>
   <option value="2" <?php echo isset($_POST["dropdown"]) && $_POST["dropdown"] == "2" ? "selected"; ?> >Option 2</option>
   <option value="3" <?php echo isset($_POST["dropdown"]) && $_POST["dropdown"] == "3" ? "selected"; ?> >Option 3</option>
</select>

您可以参考PHP How can I keep the selected option from a drop down to stay selected on submit?了解更多信息

编辑:我刚刚读到您正在使用 Smarty,在这种情况下您可以使用:

<select name="dropdown">
   <option value="1" {if !empty($dropdown) && $dropdown == "1"}selected{/if}>Option 1</option>
   <option value="2" {if !empty($dropdown) && $dropdown == "2"}selected{/if}>Option 2</option>
   <option value="3" {if !empty($dropdown) && $dropdown == "3"}selected{/if}>Option 3</option>
</select>

在你的 PHP 中:

global $smarty;

if(isset($_POST["dropdown"])){
    //validation
    $smarty->assign("dropdown", $_POST["dropdown"]);
}

【讨论】:

    猜你喜欢
    • 2012-05-05
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多